Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以将Django信号保存在空应用程序中吗_Python_Django - Fatal编程技术网

Python 我可以将Django信号保存在空应用程序中吗

Python 我可以将Django信号保存在空应用程序中吗,python,django,Python,Django,我想为我的许多应用程序和django contrib评论实现信号。我不能创建一个应用程序,将其加载到settings.INSTALLED_APPS的顶部,然后在django APPS之后加载,然后将所有信号放入views.py文件中吗 原则上,你可以这样做 您希望在启动期间注册信号。一种方法是确保在启动期间导入视图,例如从URL.py导入视图 但是,我建议使用推荐的方法,并在应用程序启动代码中注册它们。请参阅 由于MyModelSaveSignal是一个方法而不是一个类,您应该选择一个小写名称。

我想为我的许多应用程序和django contrib评论实现信号。我不能创建一个应用程序,将其加载到settings.INSTALLED_APPS的顶部,然后在django APPS之后加载,然后将所有信号放入views.py文件中吗


原则上,你可以这样做

您希望在启动期间注册信号。一种方法是确保在启动期间导入视图,例如从URL.py导入视图

但是,我建议使用推荐的方法,并在应用程序启动代码中注册它们。请参阅


由于MyModelSaveSignal是一个方法而不是一个类,您应该选择一个小写名称。

什么东西不符合您的预期?不,我只是想知道这是否是一种注册信号的可行方法,因为我不知道将django contrib commetsHow的信号代码放在哪里。我是否为django contrib commetsHow之类的软件包注册信号?我把它们放在哪里?你能在你的基本URL.py顶部导入一个signals.py文件吗?这不是办法。请阅读上面提供的链接。您可以在应用程序中注册来自其他应用程序的信号处理程序。你在想什么信号?django contrib评论。不知道该把它放在哪里
# > ./manage.py startapp signals
# > vim myapp/settings.py
...
INSTALLED_APPS = {
    ...
    'signals',
    ...
}
...
# > vim signals/view.py
...
from django.db.models.signals import post_save
from django.dispatch import receiver
from djanfo_comments.odels import Comment
from myapp.mymodels import MyModel

@receiver(post_save, sender=Comment)
def commentSaveSignal(sender, **kwargs):
    ...
...

@receiver(post_save, sender=MyModel)
def myModelSaveSignal(sender, **kwargs):
    ...
...