[python] 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작동했습니다.


답변

내 문제는 호출하기 전에 Django 모델을 가져 오려고했다는 것입니다. django.setup()

이것은 나를 위해 일했습니다.

import django
django.setup()

from myapp.models import MyModel

위의 스크립트는 프로젝트 루트 폴더에 있습니다.


답변

내가 만든 때 내 경우, 오류가 발생했습니다 python manage.py makemigrationsDjango 2.0.6.

해결책은 실행 python manage.py runserver하고 실제 오류 (단지 누락 된 환경 변수)를 확인하는 것입니다.


답변

당신이 응용 프로그램을 추가 할 때이 오류가 발생할 수 있습니다 INSTALLED_APPS 에서 settings.py파일하지만 당신은 응용 프로그램이 컴퓨터에 설치되어 있지 않습니다. 두 가지 해결책이 있습니다.

  1. Installpip우분투 와 같은 패키지 관리자를 사용하는 앱
  2. 또는 설치된 앱을 settings.py파일 에 주석 처리

이 오류는 virtual environment프로젝트에 대해 생성 한 사용자 가 아닌 경우에도 발생할 수 있습니다.


답변

전체 settings.LOGGINGdictConfig를 제거하고 서버를 다시 시작하십시오. 작동하면 v1.9 문서에 따라 설정을 다시 작성하십시오.

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


답변

저에게 문제는 파일 INSTALLED_APPS에서 모델을 가져 오는 앱을 가져오고 있다는 사실 에서 발생했습니다.__init__.py

나는 가지고 있었다 :

settings.py

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

myapp.__init__.py

from django.contrib.sites.models import Site

주석 import models에서 myapp.__init__.py작동했다 :

# from django.contrib.sites.models import Site