【发布时间】:2020-06-05 17:15:08
【问题描述】:
我正在开发一个使用 Django All Auth 的项目。
在包里面,有一个account.signals文件,里面有一个信号。
email_confirmed = Signal(providing_args=["request", "email_address"])。
在EmailConfirmationHMAC的模型内部使用。
def confirm(self, request):
if not self.email_address.verified:
email_address = self.email_address
get_adapter(request).confirm_email(request, email_address)
signals.email_confirmed.send(sender=self.__class__,
request=request,
email_address=email_address)
return email_address
在这里添加一个堆栈跟踪,我可以看到它正在到达这部分。
在我的项目中,我有一个 python 文件receivers.py
from allauth.account.signals import email_confirmed
from django.dispatch import receiver
@receiver(email_confirmed)
def custom_logic(sender, **kwargs):
a = 0
import ipdb;
ipdb.set_trace()
if a:
pass
但是,每当我确认电子邮件验证时,我的自定义逻辑调试器没有被点击,电子邮件正在被确认并且页面正在重新路由。
我如何确保我的custom_logic函数在发送信号后可以运行?
signals.email_confirmed.send(sender=self.__class__,
request=request,
email_address=email_address)
谢谢!
【问题讨论】:
标签: python django signals django-allauth