[PYTHON] Django 1.8 이상을 채우는 동안 "모델이 아직로드되지 않았습니다"오류가 발생했습니다.
PYTHONDjango 1.8 이상을 채우는 동안 "모델이 아직로드되지 않았습니다"오류가 발생했습니다.
이 코드를 사용하여 데이터베이스를 채우는 중입니다.
import os
def populate():
python_cat = add_cat('Python')
add_page(cat=python_cat,
title="Official Python Tutorial",
url="http://docs.python.org/2/tutorial/")
add_page(cat=python_cat,
title="How to Think like a Computer Scientist",
url="http://www.greenteapress.com/thinkpython/")
add_page(cat=python_cat,
title="Learn Python in 10 minutes",
url="http://www.korokithakis.net/tutorials/python/")
django_cat = add_cat(name="Django")
add_page(cat=django_cat,
title="Official Django Tutorial",
url="http://djangoproject.com/en/1.5/intro/tutorial01/")
add_page(cat=django_cat,
title="Django Rocks",
url="http://www.djangorocks.com/")
add_page(cat=django_cat,
title="How to Tango with Django",
url="htttp://www.tangowithdjango.com/")
frame_cat = add_cat(name="Other Frameworks")
add_page(cat=frame_cat,
title="Bottle",
url="http://bottlepy.org/docs/dev/")
add_page(cat=frame_cat,
title="Flask",
url="http://flask.pocoo.org")
# Print out what we have added to the user.
for c in Category.objects.all():
for p in Page.objects.filter(category=c):
print "- {0} - {1}".format(str(c), str(p))
def add_page(cat, title, url, views=0):
p = Page.objects.get_or_create(category=cat, title=title, url=url, views=views)[0]
return p
def add_cat(name):
c = Category.objects.get_or_create(name=name)
return c
if __name__ == '__main__':
print "Starting Rango population script..."
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'p.settings')
from rango.models import Category, Page
populate()
실행 중
python c:\python27\p\populate_rango.py
그것은 오류를 준다 :
Staring Rango population script...
Traceback (most recent call last):
File "c:\python27\p\populate_rango.py", line 59, in <module>
populate()
File "c:\python27\p\populate_rango.py", line 4, in populate
python_cat = add_cat('Python')
File "c:\python27\p\populate_rango.py", line 52, in add_cat
c = Category.objects.get_or_create(name=name)
File "C:\Python27\Lib\site-packages\django\db\models\manager.py", li
manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Python27\Lib\site-packages\django\db\models\query.py", line
et_or_create
return self.get(**lookup), False
File "C:\Python27\Lib\site-packages\django\db\models\query.py", line
clone = self.filter(*args, **kwargs)
File "C:\Python27\Lib\site-packages\django\db\models\query.py", line
ilter
return self._filter_or_exclude(False, *args, **kwargs)
File "C:\Python27\Lib\site-packages\django\db\models\query.py", line
filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "C:\Python27\Lib\site-packages\django\db\models\sql\query.py",
in add_q
clause, require_inner = self._add_q(where_part, self.used_aliases)
File "C:\Python27\Lib\site-packages\django\db\models\sql\query.py",
in _add_q
current_negated=current_negated, connector=connector)
File "C:\Python27\Lib\site-packages\django\db\models\sql\query.py",
in build_filter
lookups, parts, reffed_aggregate = self.solve_lookup_type(arg)
File "C:\Python27\Lib\site-packages\django\db\models\sql\query.py",
in solve_lookup_type
_, field, _, lookup_parts = self.names_to_path(lookup_splitted, se
a())
File "C:\Python27\Lib\site-packages\django\db\models\sql\query.py",
in names_to_path
field, model, direct, m2m = opts.get_field_by_name(name)
File "C:\Python27\Lib\site-packages\django\db\models\options.py", li
get_field_by_name
cache = self.init_name_map()
File "C:\Python27\Lib\site-packages\django\db\models\options.py", li
init_name_map
for f, model in self.get_all_related_m2m_objects_with_model():
File "C:\Python27\Lib\site-packages\django\db\models\options.py", li
get_all_related_m2m_objects_with_model
cache = self._fill_related_many_to_many_cache()
File "C:\Python27\Lib\site-packages\django\db\models\options.py", li
_fill_related_many_to_many_cache
for klass in self.apps.get_models():
File "C:\Python27\Lib\site-packages\django\utils\lru_cache.py", line
rapper
result = user_function(*args, **kwds)
File "C:\Python27\Lib\site-packages\django\apps\registry.py", line 1
_models
*self.check_models_ready()
File "C:\Python27\Lib\site-packages\django\apps\registry.py", line 1
ck_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.*
나머지 파일은 괜찮지 만이 오류가 발생합니다. 나는 Tango에서 Django 책으로 튜토리얼을 따라 가고 있지만 책은 Django 1.5.4를 참조하고 Django 1.8을 사용하고 있으므로 누구도 나를 도와 줄 수 있습니까?
해결법
-
==============================
1.나는 Django 1.7rc2와 동일한 예외를 가지고 있었다. 해결책은 프로그램 시작시 다음 줄을 추가하는 것이 었습니다.
나는 Django 1.7rc2와 동일한 예외를 가지고 있었다. 해결책은 프로그램 시작시 다음 줄을 추가하는 것이 었습니다.
import django django.setup()
업데이트 : 이제 Django 1.8에 대해 설명합니다.
-
==============================
2.이 오류가 발생했습니다. 우리 프로젝트는 Django 1.4부터 시작하여 1.5로, 그 다음 1.7로 진행되었습니다. 우리의 wsgi.py는 다음과 같습니다 :
이 오류가 발생했습니다. 우리 프로젝트는 Django 1.4부터 시작하여 1.5로, 그 다음 1.7로 진행되었습니다. 우리의 wsgi.py는 다음과 같습니다 :
import os import sys from django.core.handlers.wsgi import WSGIHandler os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings' application = WSGIHandler()
1.7 스타일 WSGI 핸들러로 업데이트했을 때 :
import os import sys from django.core.wsgi import get_wsgi_application os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings' application = get_wsgi_application()
모든 것이 지금 작동합니다.
-
==============================
3.장고 1.9.x에 대한 잘 :
장고 1.9.x에 대한 잘 :
populate_rango.py:
import os import sys from django.core.wsgi import get_wsgi_application os.environ['DJANGO_SETTINGS_MODULE'] = 'tango_with_django_project.settings' application = get_wsgi_application() def populate(): python_cat = add_cat('Python') add_page(cat=python_cat, title="Official Python Tutorial", url="http://docs.python.org/2/tutorial/") add_page(cat=python_cat, title="How to Think like a Computer Scientist", url="http://www.greenteapress.com/thinkpython/") add_page(cat=python_cat, title="Learn Python in 10 Minutes", url="http://www.korokithakis.net/tutorials/python/") django_cat = add_cat("Django") add_page(cat=django_cat, title="Official Django Tutorial", url="https://docs.djangoproject.com/en/1.5/intro/tutorial01/") add_page(cat=django_cat, title="Django Rocks", url="http://www.djangorocks.com/") add_page(cat=django_cat, title="How to Tango with Django", url="http://www.tangowithdjango.com/") frame_cat = add_cat("Other Frameworks") add_page(cat=frame_cat, title="Bottle", url="http://bottlepy.org/docs/dev/") add_page(cat=frame_cat, title="Flask", url="http://flask.pocoo.org") #Print out what we have added to the user. for c in Category.objects.all(): for p in Page.objects.filter(category=c): print ("- {0} - {1}".format(str(c), str(p))) def add_page(cat, title, url, views=0): p = Page.objects.get_or_create(category=cat, title=title, url=url, views=views)[0] return p def add_cat(name): c = Category.objects.get_or_create(name=name)[0] return c # Start execution here! if __name__ == '__main__': print ("Starting Rango population script...") os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tango_with_django_project.settings') from rango.models import Category, Page populate()
from https://stackoverflow.com/questions/25244631/models-arent-loaded-yet-error-while-populating-in-django-1-8-or-later by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 진자 템플릿의 사전 목록 (0) | 2018.11.05 |
---|---|
[PYTHON] 어떻게 Django에서 HttpResponseRedirect를 사용할 때 템플릿 컨텍스트 정보를 전달합니까? (0) | 2018.11.05 |
[PYTHON] 작성 줄은 줄 바꿈없이 줄을 긋고 파일을 채 웁니다. (0) | 2018.11.05 |
[PYTHON] 파이썬을 사용하지 않고 FTP 파일을 읽을 수 있습니까? (0) | 2018.11.05 |
[PYTHON] BeautifulSoup에 InnerText가 있습니까? (0) | 2018.11.05 |