2013-09-13 1 views
2

Я пытаюсь получить сигнал user_activated, отправленный django-регистрацией, когда активирована учетная запись пользователя. Вот мои сигналы.pyDjango-регистрация user_activated сигнал, отправленный дважды

from registration.signals import user_activated 

def receiver(sender, user, request, **kwargs): 
    print 'received signal' 

user_activated.connect(receiver, dispatch_uid='registration.signals.user_activated') 

Но когда пользователь активирован, сигнал user_activated отправляется дважды. Я знаю это, потому что выход

received signal 
received signal 

Множественные импорт signals.py не должен подключить приемник сигнала в два раза, потому что я использую уникальный dispatch_uid, так почему посылается дважды сигнал? Является ли проблема с моим кодом или проблемой с django-registration (используя бэкэнд по умолчанию)?

ответ

1

dispatch_uid просто останавливает вас от подключения к одному и тому же сигналу в два раза, но проблема в том, что django-registration СЕНСИРУЕТ сигнал дважды.

Чтобы исправить это, примените this патч к registration/views.py, и он должен работать.