【发布时间】:2011-05-10 19:17:27
【问题描述】:
我在使用 django 设置 wgsi 时遇到问题。我正在关注这个http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/。然而,对于将 .wsgi 文件放在哪里以及是否需要设置 sys.path,我仍然很困惑。我已经直接在网络根目录内外尝试过,但我无法按预期工作。
# /home/ben/public_html/django_test/testproject/apache/django.wsgi:
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'testproject.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
相关的 apache 配置:
DocumentRoot "/home/ben/public_html/django_test/testproject/"
WSGIScriptAlias / "/home/ben/public_html/django_test/testproject/apache/django.wsgi"
Apache 日志错误(标准 apache 500 页面):
ImportError: Could not import settings 'testproject.settings' (Is it on sys.path? ...
我可以让 django 至少通过使用这个来抛出它自己的错误:
import os
import sys
path = '/home/ben/public_html/django_test/testproject'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
这导致了这个 django 错误页面:
ImportError at /admin/
No module named testproject.urls
【问题讨论】:
标签: python django apache apache2 wsgi