Django报错Apps aren't loaded yet(__init__.py中导入了尚未加载的东西)

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

现象:无论是执行runserver还是migrate等命令,均出现以上的错误信息。

问题原因:应用的路径下的__init__.py中写下了import models的内容。

 

Django文档中对applications加载的描述:

django.setup()负责application注册表的初始化

application注册表的初始化需要三个过程,

第一个过程是从INSTALLED_APP中导入每一个内容,这个过程中代码不应该导入任何models,即使是间接的导入。
第二个过程Django尝试导入models中的子模块,并且必须通过models.py和models/__init__.py
第三个过程是调用每个application的ready()方法

 

特别感谢https://www.liangzl.com/get-article-detail-1704.html分享的解决方法

你可能感兴趣的:(Django,Python)