저는 migrating a Google App Engine application from Django 0.96 to 1.2입니다. 이 과정에서 나는 주 처리기에서 지정한 설정 파일이 더 이상로드되지 않았다는 것을 알았습니다 (지정된 언어 3 개 대신 Django가 기본 언어의 전체 목록을 django/conf/global_settings.py
파일로로드했습니다). 나는이 변경되지 않는 것으로되어있는 설명서에서 읽은 바로는DJANGO_SETTINGS_MODULE - 지정된 설정 파일이로드되지 않았습니까?
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'conf.settings'
:
은 0.96에서이 같은 파일을 지정했습니다. 그러나이 같은 버전 1.2을 지정하는 경우 :from google.appengine.dist import use_library
use_library('django', '1.2')
conf.settings
가 더 이상 가져올 수 없습니다. GAE의 SDK에서 약간 파고 들자면, google_appengine/lib/django_<VERS>/django/conf/__init__.py
파일의 0.96과 1.2 버전이 다르게 작동한다고 언급했습니다.
0.96에서 LazySettings.__getattr__
에서 LazySettings._import_settings
이 호출되어 os.environ['DJANGO_SETTINGS_MODULE']
에 지정된 파일을 가져옵니다.
1.2에서 LazySettings._setup
은 어디에도 호출되지 않는 것 같습니다.
메인 처리기에서 settings._setup()
에 대한 수동 호출을 추가하면 사용자 설정 파일을 올바르게 가져옵니다. 이처럼 그러나
from django.conf import settings
settings._target = None # Force Django to reload settings
settings._setup()
, 그것은 잘못된/이상한 민간 기능은 수동으로 ... 왜 내 사용자 지정 설정을 더 이상 가져 오지 파일인지 전화를해야하는 느낌?
사실, webapp을 가져 오기 전에 설정 가져 오기를 이동하면이 문제가 해결됩니다. 이 문제를 신고 해 드리겠습니다. 감사. – Emilien