2016-07-26 3 views
0

manage.py runserver 명령 줄에서 django를 실행할 때 문제가 발생했습니다.Django manage.py runserver AppRegistryNotReady : 모델이 아직로드되지 않았습니다

몇 달 전에 Django 1.5에서 같은 코드를 사용해도됩니다.

오늘 나는 코드를 다시 집어 들고 Django 1.8.3 및 python2.7.10을 실행하려고합니다.

자, 여기에 오류가 발생했습니다 :

Traceback (most recent call last): 
    File "manage.py", line 29, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute 
    django.setup() 
    File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/media/wni/study/workspace4320151111/weichun/mytheme/models.py", line 8, in <module> 
    from mezzanine.pages.models import Page 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/pages/models.py", line 34, in <module> 
    class Page(BasePage): 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/core/models.py", line 350, in __new__ 
    return super(OrderableBase, cls).__new__(cls, name, bases, attrs) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 298, in __new__ 
    new_class.add_to_class(field.name, copy.deepcopy(field)) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 324, in add_to_class 
    value.contribute_to_class(cls, name) 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/generic/fields.py", line 226, in contribute_to_class 
    super(KeywordsField, self).contribute_to_class(cls, name) 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/generic/fields.py", line 84, in contribute_to_class 
    cls._meta.get_fields_with_model()]: 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 56, in wrapper 
    return fn(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 432, in get_fields_with_model 
    return [self._map_model(f) for f in self.get_fields()] 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 740, in get_fields 
    return self._get_fields(include_parents=include_parents, include_hidden=include_hidden) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 802, in _get_fields 
    all_fields = self._relation_tree 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 60, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 709, in _relation_tree 
    return self._populate_directed_relation_graph() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 681, in _populate_directed_relation_graph 
    all_models = self.apps.get_models(include_auto_created=True) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/lru_cache.py", line 101, in wrapper 
    result = user_function(*args, **kwds) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 168, in get_models 
    self.check_models_ready() 
    File "/usr/local/lib/python2.7/dist-packages/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. 

누구나 그것을 해결하는 방법을 알고?

감사합니다.

웨슬리는

+0

어떤 버전의 메 자닌을 사용하고 있습니까? – knbk

+0

중 2 층 메 자닌은 3.1.9입니다. 오래된 것으로 알고 있지만 이전에 일부 코드를 변경 했으므로 공식 버전의 최신 버전을 사용하고 싶지 않습니다. 나는이 사람을 고치기 위해 많은 코드를 변경할 필요가 없어야한다고 생각합니다. 내가 먼저 실행하고 다음 나중에 공식적인 빌드로 전송하려고 코드를 변경하고 싶습니다 – Wesley

+0

그것은 장고 1.8과 함께 사용하기 위해 최소한 4.0.0이 필요해 보인다. 메 자닌을 업그레이드하거나 필요한 변경 사항을 로컬 사본으로 백포트해야합니다. – knbk

답변

0

난 당신이 장고의 다른 버전에 대한 이동로 wsgi.py 파일을 변경할 필요가 있다고 생각합니다.

import os 
import sys 

from django.core.handlers.wsgi import WSGIHandler 

os.environ['DJANGO_SETTINGS_MODULE'] = 'YourAppName.settings' 
application = WSGIHandler() 

settings.py에서 가져온 모든 타사 응용 프로그램을 주석 처리합니다.

1] ./manage.py runserver는 wsgi.py를 사용하지만 상단에 표시된 스택 추적에는 wsgi 파일이 포함되어 있지 않은 것 같습니다. 따라서 wsgi 파일이로드되기 전에 오류가 발생합니다.

2] 이것은 장고 설정에 문제가 될 수 있습니다. 예를 들어 존재하지 않는 디렉토리에 파일 이름을 LOGGING 할 수 있습니다.

3] 또는 확인 this

+0

작동하지 않습니다. 사실, 현재 내가 사용 : django.core.wsgi에서 가져 오기 get_wsgi_application 응용 프로그램 = get_wsgi_application() 중 하나, 작동하지 않습니다. mange.py에서 응용 프로그램을 시작한 이후 wsgi.py와 관련이 없다고 생각합니다. – Wesley

+0

python manage.py를 실행 해보십시오.이 명령을 확인하십시오. –

+0

같은 오류가 발생했습니다 ... – Wesley

관련 문제