2016-09-28 39 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文檔瞭解更多詳情。