我想从子目录(例如http://www.stackoverflow.com/django_app/
)提供Django应用程序。
我已经设置mod_wsgi来通过
服务页面WSGIScriptAlias /django_app PATH_TO_DJANGO/wsgi.py
如何指定LOGIN_URL,STATIC_URL,MEDIA_URL等设置,以便Django尊重相对路径?
如果将STATIC_URL设置为"/static/"
,它会尝试引用http://www.stackoverflow.com/static/
而不是http://www.stackoverflow.com/django_app/static/
的资源。
但是如果我将它设置为"static"
(没有前导斜杠),它将被解释为相对于任何也是错误的URL。例如,
http://www.stackoverflow.com/django_app/admin/
尝试从
加载文件 http://www.stackoverflow.com/django_app/admin/static/
我没有找到一种方法告诉Django使用http://www.stackoverflow.com/django_app/static
而不在设置中明确硬编码前缀/django_app
(IMHO违反了DRY原则,因为它已在mod_wsgi-config中指定)。
它还禁止在不修改项目的情况下在不同的URL下提供相同的项目,这似乎很奇怪。
答案 0 :(得分:1)
没有办法让它自动化。这些少数变量中的URL和LOGOUT_URL不会自动加上SCRIPT_NAME的前缀,该脚本会通过脚本传入并标识挂载点。