关于信号量方法不被触发的问题
来源:7-13 django信号量实现用户密码修改
gogosnake
2018-07-23
首先说明,代码严格按照下载的源码复制粘贴,没有拼写错误问题。
爬坑过程:
1、首先,跟着视频演示,在users的Serializer里重载了create方法,改写password的加密保存,运行成功,没有问题。
2、然后创建signals.py文件,重写了create_user方法,在apps.py里import signals,运行,没有效果,signal没有被触发。
3、查看了django官方文档,照着官网的示例,写了一个request_finished的触发过程,运行也没有触发。
from django.core.signals import request_finished from django.dispatch import receiver @receiver(request_finished)def my_callback(sender, **kwargs): print("Request finished!")
4、查了半天stack overflow,有个大牛说要在users的__init__.py里import users.signals,加上,运行成功,打印了Request finished!,说明信号被触发了。
5、ok,换回老师的代码,编译,但编译错误。提示:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
6、捣鼓半天,发现只要引入get_user_model就会出错,不引入不出错。
7、或者删除__init__.py里import users.signals,也不会出错,但运行后信号不能被触发。
8、彻底崩溃,老师救我。
3回答
-
Luogjy
2018-11-19
这个问题我也遇到了,我的解决方案是在settings的INSTALLED_APPS里不要用users添加,换成users.apps.UsersConfig
122019-04-05 -
Q753456
2020-09-24
我的解决方案是在settings的INSTALLED_APPS里不要用users添加,换成users.apps.UsersConfig
00 -
bobby
2018-07-25
http://apply.projectsedu.com/ 你到这里申请加入github源码 下载我提供的源码试试,django用1.11
062019-11-13
Python前后端分离开发Vue+Django REST framework实战
2873 学习 · 2457 问题
相似问题