То есть, вы хотите «смонтировать» сайт Django по пути под URL? Я уже пробовал это с Apache и mod_proxy, и это было своего рода кошмаром, чтобы узнать. Вот что я придумала (возможно, не полная или не идеальная):
# In your scenario
FORCE_SCRIPT_NAME = "/app/"
# End of settings
_prefix = (FORCE_SCRIPT_NAME or "")
LOGIN_URL = _prefix + LOGIN_URL
LOGIN_REDIRECT_URL = _prefix + LOGIN_REDIRECT_URL
LOGOUT_URL = _prefix + LOGOUT_URL
ADMIN_MEDIA_PREFIX = _prefix + ADMIN_MEDIA_PREFIX
Очевидно, что это добавляет "/ app /" к наиболее важным жестко закодированным URL-адресам сайта, плюс он устанавливает FORCE_SCRIPT_NAME
, чтобы гарантировать, что {% url something %}
приведет к абсолютному URL, например, "/ app / кое-что".
Это сработало для меня, используя mod_wsgi для сайта Django и ProxyPass / ProxyPassReverse для «монтирования». Попробуйте и дайте мне обратную связь, мне интересно, это общее решение.