我把我的信号接收器代码放在相应的模型文件中.
但是,信号接收器不断增长,我想将它们分成多个文件.
我还没有看到有关放置信号接收器代码的位置的讨论.
(让我怀疑我不应该制造许多信号接收器吗?)
请参阅文档:https:
//docs.djangoproject.com/en/1.8/topics/signals/#connecting-receiver-functions
将它们放在一个单独的signals.py文件中是很常见的,可能是项目中每个模块一个,但是你需要确保导入这些文件以便你的信号接收器得到注册.
正如上面的文档中详述的那样,Django 1.7+现在具有AppConfig.ready这种情况的机制
这里有一个很好的解释:http:
//chriskief.com/2014/02/28/django-1-7-signals-appconfig/
(作为你可能会做的一个例子)
基本上:
# myapp/__init__.py
default_app_config = 'myapp.apps.MyAppConfig'
Run Code Online (Sandbox Code Playgroud)
和
# myapp/apps.py
from django.apps import AppConfig
class MyAppConfig(AppConfig):
name = 'myapp'
verbose_name = 'My App'
def ready(self):
# import signal handlers
import myapp.signals.handlers
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2417 次 |
| 最近记录: |