Django升级到1.9错误“AppRegistryNotReady:应用程序尚未加载。”

当从1.8升级到django 1.9时,我得到了这个错误。 我检查了类似问题的答案,但我不认为这是任何第三方包或应用程序的问题。

Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line utility.execute() File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 176, in fetch_command commands = get_commands() File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/utils/lru_cache.py", line 100, in wrapper result = user_function(*args, **kwds) File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 71, in get_commands for app_config in reversed(list(apps.get_app_configs())): File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/apps/registry.py", line 137, in get_app_configs self.check_apps_ready() File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready raise AppRegistryNotReady("Apps aren't loaded yet.") django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. 

我修改了'django.contrib.auth'的安装的应用程序。

尝试将这些行添加到设置文件的顶部:

 import django django.setup() 

如果这不会帮助您尝试从您已安装的应用程序列表逐个删除第三方应用程序。

我会在我的一个模型__init__.py文件中写一个自定义函数。 这是造成错误。 当我从__init__.py移动这个函数的时候就起作用了。

尝试删除整个settings.LOGGING dictConfig并重新启动服务器。 如果可行,请根据v1.9文档重写设置。

https://docs.djangoproject.com/en/1.9/topics/logging/#examples

当您在settings.py文件的INSTALLED_APPS中添加应用程序时,会出现此错误,但是您的计算机中没有安装该应用程序。 你有两个解决scheme:

  1. 在Ubuntu下使用包pipe理器来安装应用程序,如pip
  2. 或者在settings.py文件中注释掉已安装的应用程序

如果您不在虚拟环境中,也可能会出现此错误,您可能已经为您的项目创build了该虚拟环境。

对于我评论

 'grappelli.dashboard', 'grappelli', 

在INSTALLED_APPS中工作

我的问题是:django-reversion> = 1.8.7,<1.9

对于Django 1.9.7,你应该使用:django-reversion == 1.10.0

我升级了Django的CMS 3.2到3.3,并通过评论应用程序,然后取消注释返回。

正确的答案在这里: https : //stackoverflow.com/a/34040556/2837890

对于不正确地写入INSTALLED_APPS的settings.py不一致,也会出现此问题,请validation您是否正确包含了应用程序并用“,”分隔。

如果您的setting.py文件填写正确,您可以尝试到达manage.py文件继续在main方法中调用danjgo.setup()。 然后运行manage.py,最后再运行项目,问题可能会消失。

在应用程序包的“pipe理”模块中,请注册包中“模型”模块中创build的所有数据库。

假设你有一个在“models”模块中定义的数据库类,如下所示:

 class myDb1(models.Model): someField= models.Charfiled(max_length=100) 

所以你必须在pipe理模块注册这个:

 from .models import myDb1 admin.site.register(myDb1) 

我希望这解决了这个错误。

对于我来说,问题来自于我正在导入INSTALLED_APPS中的应用程序,而INSTALLED_APPS本身是在其__init__.py文件中导入一个模型

我有:

settings.py

 INSTALLED_APPS = [ ... 'myapp', ... ] 

myapp.__init__.py

 from django.contrib.sites.models import Site 

注释myapp.__init__.py import models使其工作:

 # from django.contrib.sites.models import Site 

晚会到了,但是grappelli也是我错误的原因。 我查了pypi上的兼容版本,并为我修复。