我想从一个子目录(例如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
的情况下使用(恕我直言,这违反了 DRY 原则,因为它已经在 mod_wsgi-config 中指定)。它还禁止在不修改项目的情况下以不同的 URL 为同一个项目提供服务,这看起来很奇怪。