Django+;WSGI:在子路径上使用应用程序而不进行更改

Django+;WSGI:在子路径上使用应用程序而不进行更改,django,apache2,mod-wsgi,Django,Apache2,Mod Wsgi,我想从一个子目录(例如http://www.stackoverflow.com/django_app/) 我已经设置了mod_wsgi,通过 WSGIScriptAlias /django_app PATH_TO_DJANGO/wsgi.py 如何指定登录URL、静态URL、媒体URL等设置,以便Django尊重相对路径 如果将STATIC\u URL设置为“/STATIC/”,它将尝试引用http://www.stackoverflow.com/static/而不是http://www.st

我想从一个子目录(例如
http://www.stackoverflow.com/django_app/

我已经设置了mod_wsgi,通过

WSGIScriptAlias /django_app PATH_TO_DJANGO/wsgi.py
如何指定登录URL、静态URL、媒体URL等设置,以便Django尊重相对路径

如果将STATIC\u 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\u app
(IMHO违反DRY原则,因为它已在mod\u wsgi-config中指定)。
它还禁止在不修改项目的情况下在不同的URL下为同一项目提供服务,这似乎很奇怪。

它无法自动执行。这几个变量中的URL和LOGOUT_URL不会自动以脚本名称作为前缀,脚本名称随脚本一起传入并标识装入点。

似乎是Django中的一个设计缺陷。事实证明,Django 1.4添加了一些帮助。看见