关于信号量方法不被触发的问题

来源: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

1
2
Louis0o
同样遇到这个问题,INSTALL_APPS中users换成users.apps.UsersConfig
2019-04-05
共2条回复

Q753456

2020-09-24

我的解决方案是在settings的INSTALLED_APPS里不要用users添加,换成users.apps.UsersConfig

0
0

bobby

2018-07-25

http://apply.projectsedu.com/ 你到这里申请加入github源码 下载我提供的源码试试,django用1.11

0
6
慕设计0293856
回复
bobby
qq 2230933759
2019-11-13
共6条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2873 学习 · 2457 问题

查看课程