2016-09-28 38 views
0

我以前使用Django信号。我现在正在开发一款1.10应用程序,出于某种原因,我无法接听我的接收器。Django信号接收未被调用

APP1/signals.py

from django.dispatch import Signal 
list_member_updated = Signal(providing_args=['list_member_id',]) 

APP1/models.py

print('Dispatching signal...') 
list_member_updated.send(self.__class__, list_member_id=list_member.id) 

APP1/apps.py

class DjangoApp1Config(AppConfig): 
    name = 'app1' 

    def ready(self): 
     import app1.signals 

APP2/util.py

from django.dispatch import receiver 
from app1.signals import list_member_updated 

@receiver(list_member_updated) 
def handle_member_updated(sender, **kwargs): 
    print('Received signal') 

因此,我在控制台中获得“Signal dispatched ...”,但没有收到信号。我有一种感觉,我错过了一些简单的东西,但我看不到它。

回答

1

app1/__ inti__.py添加上述行。它为我工作

default_app_config = 'app1.apps.DjangoApp1Config' 

注意:如果你已经在INSTALLED_APPS设置涉及到您的AppConfig的APP1/__ init__.py位是不需要的。

您可以参考this文档了解更多详情。