2014-11-17 5 views
2

CherryPy를 사용하여 Django 1.7 응용 프로그램을 제공하려고합니다. 시작 스크립트는 다음과 같습니다.CherryPy를 사용하는 Django 1.7 응용 프로그램 서비스

import wsgiserver 
import sys 
import os 
import django.core.handlers.wsgi 


if __name__ == "__main__": 
    sys.path.append(os.path.realpath(os.path.dirname(__file__))) # add django project absolute path 
    # Startup Django 
    os.environ['DJANGO_SETTINGS_MODULE'] = 'my_project.settings' 
    server = wsgiserver.CherryPyWSGIServer(('127.0.0.1', 8001), django.core.handlers.wsgi.WSGIHandler()) 
try: 
    server.start() 
except KeyboardInterrupt: 
    print 'Stopping' 
    server.stop() 

모든 설정이 정상입니다. 내가 응용 프로그램을 (장고 성공 페이지)에 액세스하려고 할 때 그러나, 나는 오류 얻을 :

AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time. 

주위에 독서를, 당신이 wsgi.py하는) (django.setup 추가 또한 마이그레이션의 runserver 전에 실행 및 발견 . 슬프게도 저 해결책은 저를 위해 작동하지 않는다.

내가 뭘 잘못하고있어?

미리 감사드립니다.

+0

Django 1.7은 설정시 모든 모델 파일을 가져옵니다. 현재 일어나고있는 설정에 의존하는 모델에서 (예 : 현재 언어를 알아야하는 게으른 gettext와 같은) 무언가를하면, 그 오류로 실패합니다. – RemcoGerlich

답변

3

이 올바른 해결책 인 경우 나도 몰라,하지만 난 즉시 설정 모듈을 정의하는 호출 후

django.setup() 

를 삽입하여 내 자신의 코드에서이 문제를 해결할 수 있었다.

+0

나는 이미 그것을 시도했다. 작동하지 않습니다. – Wedava

0

wsgiserver2.py에서 가져온 후에 django.setup()을 실행하여 작동하도록했습니다.