Mar*_*lke 3 django django-signals django-registration
我在连接django中的信号时遇到问题.我一直在关注http://dmitko.ru/?p=546上提供的教程,并尝试扩展用户注册.
我已经正确设置了django-registration.它工作正常.出于调试目的,我将以下代码放入我的urls.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")
Run Code Online (Sandbox Code Playgroud)
但是永远不会调用log_user_created函数.
我的问题是:如何调试我的应用程序以查看吞下user_registered信号的位置?
注意:我已经检查过我的django-registration版本是否正常工作.我已将我的版本改为上述博客示例应用程序中的版本.它没有改变观察到的行为.
确保连接到信号的代码和发送信号的代码都使用相同的路径导入.例如,如果您连接信号:
from myapp.registration.signals import user_registered
user_registered.connect(...)
Run Code Online (Sandbox Code Playgroud)
然后,当您发送此信号时,您必须将其导入
from myapp.registration.signals import user_registered
Run Code Online (Sandbox Code Playgroud)
(注意myapp.)而不是:
from registration.signals import user_registered
Run Code Online (Sandbox Code Playgroud)
否则他们将被视为两个不同的信号.
| 归档时间: |
|
| 查看次数: |
2928 次 |
| 最近记录: |