Django 1.9升级问题“ django.core.exceptions.AppRegistryNotReady:应用尚未加载。”

时间:2019-06-04 12:06:48

标签: python django

我从Django 1.8升级到1.9,但遇到了这个问题

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

stackoverflow上的其他解决方案均无效。

我已经尝试了其他解决方案,例如添加

import django
django.setup()

但没有成功。

File "/home/adithya/git/django_proj/manage.py", line 7, in <module>
    from django.contrib.sites.models import Site
  File "/home/adithya/git/virtualenv/env/local/lib/python2.7/site-packages/django/contrib/sites/models.py", line 83, in <module>
    class Site(models.Model):
  File "/home/adithya/git/virtualenv/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 94, in __new__
    app_config = apps.get_containing_app_config(module)
  File "/home/adithya/git/virtualenv/env/local/lib/python2.7/site-packages/django/apps/registry.py", line 239, in get_containing_app_config
    self.check_apps_ready()
  File "/home/adithya/git/virtualenv/env/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.

2 个答案:

答案 0 :(得分:0)

评论太久,所以我将留下答案

实际上有很多方法可以得到此错误,您只需找到它即可。我在下面留下了一些受欢迎的变体,但您遇到的真正原因可能有所不同。

检查:

  1. 模型 init .py文件中的任何自定义函数-可能是原因
  2. 此外,考虑到Django要求django.setup()必须运行才能调用应用程序的某些部分。在设置阶段,它要做的一件重要事情是apps.populate(settings.INSTALLED_APPS)。如果您尝试在安装程序运行之前访问应用程序,则功能check_apps_ready将引发AppRegistryNotReady(“尚未加载应用程序。”)
  3. 此错误可能是由于wsgi文件配置错误

此外,您可以尝试逐个禁用INSTALLED_APPS中的应用程序,也许这可以确定问题出在哪里?

答案 1 :(得分:0)

我通过删除 manage.py 中的专有代码来解决。 我还使用了旧的s3存储(boto3应用),它与新的Django版本不兼容。 解决这两个问题解决了我的问题。