将django-application部署到apache-Server时出现问题。该网站应该可以通过http://localhost/suburl/
访问。
我使用虚拟环境。
(缩短的)虚拟主机看起来像这样:
<VirtualHost *:80>
[.. admin, documentroot, logfiles..]
[.. static files alias ..]
# WSGI-definitions:
WSGIDaemonProcess spo python-path=/home/ai/project/source:/home/ai/project/virtualenv/lib/python2.6/site-packages
WSGIProcessGroup spo
WSGIScriptAlias /suburl /home/ai/project/source/django.wsgi
</VirtualHost>
(标准)wsgi文件看起来像这样:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
结果是:
Django没有创建正确的网址,每个网址都是http://localhost/path_to_view
而不是http://localhost/suburl/path_to_view
。如果我手动呼叫郊区,则会正确显示网站。
我找到了一些来源(例如http://www.normanmurrin.com/blog/2013/05/07/portable-django-apps/)告诉我mod_wsgi / django应该支持这个开箱即用。嗯,确实如此。除了reverse()和url-Tag。
关于使其有效的线索的任何想法?
答案 0 :(得分:1)
线索是settings.py中的FORCE_SCRIPT_NAME。
谢谢@Graham!