调试django信号';问题

调试django信号';问题,django,django-signals,django-registration,Django,Django Signals,Django Registration,我在连接到django中的信号时遇到问题。我一直在遵循上提供的教程,并尝试扩展用户注册 我已经正确设置了django注册。它工作得很好。出于调试目的,我已将以下代码放入我的URL.py中: from registration.signals import user_registered def log_user_created(sender, user, request, ** kwargs): logger.debug("got USER_REGISTERED signal") if

我在连接到django中的信号时遇到问题。我一直在遵循上提供的教程,并尝试扩展用户注册

我已经正确设置了django注册。它工作得很好。出于调试目的,我已将以下代码放入我的URL.py中:

from registration.signals import user_registered

def log_user_created(sender, user, request, ** kwargs):
  logger.debug("got USER_REGISTERED signal")

if settings.DEBUG:
  logger.debug("registering debug signal listeners")
  user_registered.connect(log_user_created)
else:
  logger.debug("debuging signals not enabled")    
但是,从未调用log\u user\u创建的函数

我的问题是:我如何调试我的应用程序,以查看用户注册的信号被吞噬的位置


注意:我已经检查了我的django注册版本是否正常工作。我已经用上面提到的博客示例应用程序中的版本切换了我的版本。它没有改变观察到的行为。

是否尝试将
用户注册的.connect(用户创建的)
放入
regbackend.py
(而不是URL.py)中,如链接的示例所示

您可以找到一些关于在何处最好地连接信号的附加信息

要查看注册的
user\u是否正确调用了
,只需在创建的
user\u
函数的开头添加一个调试调用即可

,虽然我没有使用该特定功能,但可能是另一种选择:

目前,以下小组已经完成 已编写并正在工作:

  • 信号及其参数和接收器列表

我创建了一个示例应用程序,您可以使用它(我相信它是有效的)

确保连接到信号的代码和发送信号的代码都以相同的路径导入。例如,如果将信号连接到:

from myapp.registration.signals import user_registered
user_registered.connect(...)
然后,当您稍后发送此信号时,必须使用

from myapp.registration.signals import user_registered
(请注意myapp.)而不是:


否则,它们将被视为两个不同的信号。

上述步骤是我已经完成的。无论是在我的用户注册函数的开始处调试日志,还是将其放在regbackend.py中都没有帮助。我还使用了django调试工具栏,但它没有显示用户注册的信号。不是在我的应用程序中,也不是在工作中,()我已经试过了,但正如我在问题中所写的,它非常有效。我不知道如何调试我的应用程序。我很确定我做了你在应用程序中做的所有事情(显然我错了,因为我的应用程序不工作;-))。我已经包括django调试工具栏,但它不会显示用户注册的信号,无论是在我的应用程序中还是在你的应用程序中。您知道如何调试在django中发送信号的问题吗?您可以检查。
from registration.signals import user_registered