我有一个名为subscribe
应用程序的Django项目。 在根urls.py
我使用包含从subscribe
的urls.py
我把INSTALLED_APPS
subscribe
和subscribe
的urls.py
我使用subscribe.views.<name>
来呼叫我的意见。 当服务器作为本地python manage.py runserver
运行正常。 但是,当服务器运行在nginx + uwsgi与virtualenv,我有ImportError: No module named subscribe
。 当我改变subscribe
project.subscribe
在INSTALLED_APPS
和subscribe
的urls.py
改变subscribe.views.<name>
project.subscribe.views.<name>
一切正常。
uwsgiconfiguration:
[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
为什么我应该使用绝对path导入,以及如何使用virtualenv将其更改为相对于nginx + uwsgi?
你的pythonpath=/path/where/lives/settings.py/
配置文件应该包含pythonpath=/path/where/lives/settings.py/
directive,这样python解释器就会知道在哪里可以找到你的应用程序。
查找更多关于uwsgi配置选项的信息: