7

我有一个 Django 项目,其中有一个名为subscribe. 在根目录urls.py中,我使用 include from subscribe's urls.py

我把 toINSTALLED_APPS subscribe和 in用于调用我subscribe的观点。当服务器在本地运行时一切正常。但是当服务器在带有 virtualenv 的 nginx+uwsgi 上运行时,我得到了. 当我更改为in和 in更改为all 时,一切正常。urls.pysubscribe.views.<name>python manage.py runserverImportError: No module named subscribesubscribeproject.subscribeINSTALLED_APPSsubscribeurls.pysubscribe.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 上将其更改为相对路径?

4

1 回答 1

8

你的 uwsgi 配置应该包含pythonpath=/path/where/lives/settings.py/指令,所以 python 解释器会知道在哪里可以找到你的应用程序。

查找有关 uwsgi 配置选项的更多信息:

于 2011-11-29T08:38:13.310 回答