subscribe
이라는 응용 프로그램이있는 장고 프로젝트가 있습니다. 루트 urls.py
에서 나는 subscribe
의 urls.py
에서 포함을 사용합니다. Django uwsgi 가져 오기 오류
INSTALLED_APPS
subscribe
과 내 의견을 호출하기위한
subscribe.views.<name>
를 사용
subscribe
의
urls.py
에 넣어. 서버가
python manage.py runserver
으로 로컬로 실행되면 정상적으로 작동합니다. 그러나 서버가 virtualenv와 함께 nginx + uwsgi를 실행할 때 나는
ImportError: No module named subscribe
을 얻었습니다.
subscribe
을
project.subscribe
으로 변경하고
INSTALLED_APPS
을 변경하고
subscribe
의
urls.py
을
subscribe.views.<name>
에서
project.subscribe.views.<name>
으로 변경하면 정상적으로 작동합니다.
uwsgi의 설정 :
[uwsgi]
socket = 127.0.0.1:9003
workers = 2
master = true
virtualenv = /home/user/python
chdir = /home/user
env = DJANGO_SETTINGS_MODULE=project.settings
module = django.core.handlers.wsgi:WSGIHandler()
daemonize = /home/user/uwsgi.log
가 왜 절대 경로 가져 오기를 사용해야하고 어떻게 VIRTUALENV와의 nginx + uwsgi에 상대적 다시로 변경할 수 있습니까?
중 하나를 이미 포함 VIRTUALENV 시작 스크립트를 통해 또는 다른 –
내 시작 스크립트 파이썬 경로에'project'를 추가 그것 : sys.path.insert (0, '/ home/user/project') – ZedXter
Django는 패키지로 __init__.py를 가진 폴더를 위협합니다. 'wsgi' 스크립트에서'/ home/user/project'를 루트 디렉토리로 설정 했으므로'python manage.py runserver'가 작동하는 것처럼 작동해야합니다. –