장고 1.7은 장고.core.exceptions를 던집니다.AppRegistryNotReady: 모델이 아직 로드되지 않았습니다.
이것은 제 윈도우 시스템의 흔적입니다.
Traceback (most recent call last):
File "D:\AMD\workspace\steelrumors\manage.py", line 9, in <module>
django.setup()
File "D:\AMD\Django\django-django-4c85a0d\django\__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 108, in populate
app_config.import_models(all_models)
File "D:\AMD\Django\django-django-4c85a0d\django\apps\config.py", line 197, in import_models
self.models_module = import_module(models_module_name)
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
File "C:\Python27\lib\site-packages\registration\models.py", line 15, in <module>
User = get_user_model()
File "D:\AMD\Django\django-django-4c85a0d\django\contrib\auth\__init__.py", line 135, in get_user_model
return django_apps.get_model(settings.AUTH_USER_MODEL)
File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 199, in get_model
self.check_models_ready()
File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 131, in check_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
그리고 나의 매니저.파이는 다음과 같이 보입니다.
import os
import sys
import django
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "steelrumors.settings")
django.setup()
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
장고 1.7에서 등록 앱을 사용하려고 하면 이 오류가 발생합니다.
다음 명령을 실행하여 문제가 해결되었습니다(이 답변에 대한 신뢰).
import django
django.setup()
하지만 저는 제가 왜 이것이 필요한지 잘 모르겠습니다.댓글 달아주시면 감사하겠습니다.
우리의 프로젝트는 장고 1.4에서 시작하여 1.5에서 1.7로 진행되었습니다.우리 wsgi.파이는 다음과 같이 보였습니다.
import os
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = WSGIHandler()
1.7 스타일 WSGI 핸들러로 업데이트했을 때:
import os
from django.core.wsgi import get_wsgi_application
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = get_wsgi_application()
이제 모든 것이 작동합니다.
등록 앱에 문제가 있습니다.장고 등록 전화가 걸려온 것 같습니다.get_user_module()
에models.py
모듈 레벨에서(애플리케이션 등록 프로세스에 의해 모델이 여전히 로드되는 경우).더 이상 작동하지 않습니다.
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
이 모델 파일을 호출만 하도록 변경합니다.get_user_model()
내부 메소드(모듈 레벨이 아닌)와 FK에서는 다음과 같은 것을 사용합니다.
user = ForeignKey(settings.AUTH_USER_MODEL)
BTW, 전화입니다.django.setup()
필요하지 않아야 합니다.manage.py
파일, 그것은 당신을 불러왔습니다.execute_from_command_line
(소스)
방금 같은 문제가 발생했습니다.문제는 다음과 같습니다.django-registration
django 1.7 사용자 모델과 호환되지 않습니다.
간단한 해결책은 설치된 코드 라인을 변경하는 것입니다.django-registration
모듈:
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
받는 사람:
from django.conf import settings
try:
from django.contrib.auth import get_user_model
User = settings.AUTH_USER_MODEL
except ImportError:
from django.contrib.auth.models import User
내 것은.venv/local/lib/python2.7/site-packages/registration/models.py
(virtualenvirtualenv
이것은 Django 1.9용으로 작동합니다. 실행할 Python 스크립트는 Django 프로젝트의 루트에 있었습니다.
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PROJECT_NAME.settings")
django.setup()
from APP_NAME.models import *
PROJECT_NAME 및 APP_NAME을 사용자 이름으로 설정합니다.
또 다른 옵션은 INSTALLED_APPs에 중복 항목이 있는 경우입니다.그것은 제가 테스트한 두 개의 다른 앱에 이 오류를 발생시켰습니다.분명히 그것은 장고가 확인하는 것이 아니지만, 누가 같은 앱을 목록에 두 번이나 넣을 정도로 어리석습니까?나, 그게 누구야.
manage.py 을 실행하기 전에 입력해야 하는 Python 가상 환경이 있습니까?
제가 직접 이 오류에 부딪혔고, 그것이 문제였습니다.
jangocms를 사용하고 플러그인(내 경우: djangocms-cascade)을 추가할 때 이 문제가 발생했습니다.물론 플러그인을 INSTALLED_APPs에 추가해야 했습니다.하지만 여기서 순서는 중요합니다.
'cms'가 문제를 해결하기 전에 'cmsplugin_cascade'를 배치합니다.
django 1.7을 사용하는 경우 django-registration 대신 django-registration-redux==1.1을 설치합니다.
지금이 늦지 않았다고 확신합니다.사중인경우를 .Django 4
그리고..env
설정 파일입니다. 설정에 값을 정의하면 이 오류가 발생합니다.py 해당 값이 존재하지 않는 동안.env
파일 이름:
다음 시나리오를 참조하십시오.
에 PLAID_KEY가습에 .settings.py
과 같이
PLAID_KEY=env('PLAID_KEY')
그러나 PLAID_KEY가 내 .env 파일에 존재하지 않아 수정을 추가했습니다.
./manage.py migrate
이것으로 나의 문제가 해결되었습니다.
모델 간 ForeignKey 관계를 생성하는 상황에서 이 오류가 발생하는 경우.의 예는 아의인예상을 올립니다.AppRegistryNotReady: Models aren't loaded yet
message
from my_app.models import Workspace
workspace = models.ForeignKey(Workspace)
그렇다면 모델을 문자열로 참조해 보십시오.
from my_app.models import Workspace
# One of these two lines might fix the problem.
workspace = models.ForeignKey('Workspace')
workspace = models.ForeignKey('my_app.Workspace')
당신의.manage.py
1.7 "못됐다잘만지는지"가 ; 구했모르는겠아그, 건이닙 1.7다니서어.manage.py
당신은 펑키한 출시 전 빌드 같은 것을 사용하고 있었습니까?
을 합니다.manage.py
아래와 같이 일반적인 방식으로 작업해야 합니다.
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
제 문제는 init.py 에서 왔습니다. 저는 앱을 만들었고 이것을 하고 싶었습니다.
from MY_APP import myfunc
다음 대신:
from MY_APP.views import myfunc
내가 이 부분들에 대한 변경 사항을 롤백했을 때, 모든 것이 잘 작동했습니다.
언급URL : https://stackoverflow.com/questions/25537905/django-1-7-throws-django-core-exceptions-appregistrynotready-models-arent-load
'programing' 카테고리의 다른 글
Tensorflow - ValueError: NumPy 배열을 Tensor로 변환하지 못했습니다(지원되지 않는 개체 유형 플로트). (0) | 2023.07.18 |
---|---|
사전의 값과 키를 교환하려면 어떻게 해야 합니까? (0) | 2023.07.18 |
Oracle에서 데이터베이스 개체가 테이블 또는 보기인지 확인하는 방법 (0) | 2023.07.18 |
단순 문자열로 시간 델타 객체를 구성하는 방법 (0) | 2023.07.18 |
기존 열에서 새 열을 생성하기 위해 적용되는 판다 성능 대 np.vectorize (0) | 2023.07.18 |