У меня есть сайт Django, и я настроил для него тестовый сервер. Теперь тестовый сервер также используется для чего-то еще (php), и я настроил его как псевдонимы в конфигурации виртуального хоста для Apache.Проблема с URL-адресами Django на сервере производства apache
Теперь проблема заключается в следующем: Когда я открываю его как: http://x.x.x.x/djangoSite/
WSGI запускает Джанго и загружает сайт отлично. Но все привязанные теги указывают на http://x.x.x.x/viewFunction/, а не http://x.x.x.x/djangoSite/viewFunction/, и поэтому я получаю 404 каждый раз ...
Есть ли способ рассказать Django, что базовый URL-адрес сайта не является доменом (общедоступным IP-адресом), но вместо домена/djangoSite/с, где WSGI псевдоним начинается ...
с уважением
Спасибо за ответ. Я попытался установить этот SCRIPT_NAME вручную в файле загрузчика WSGI как: os.environ ["SITE_NAME"] = '/ djangoSite' , но он ничего не делает ... Невозможно установить его вручную ..? В принципе, у меня есть 20 нечетных файлов шаблонов с кучей ссылок. Итак, существует ли способ, помимо необходимости редактировать каждую ссылку в файлах шаблонов.? –
Ну, во-первых, это SCRIPT_NAME, а не SITE_NAME - но нет смысла настраивать его вручную, WSGI делает это за вас. Но другая проблема заключается в том, что он работает только с тегом '{% url%}. Жестко закодированная ссылка, например '' будет * всегда * указывает на корень - это просто способ работы HTML. Альтернативой может быть запись некоторого промежуточного программного обеспечения, которое анализирует ваши визуализированные шаблоны и исправляет URL-адрес, но это ужасно и просто перемещает работу из одноразового изменения в то, что должно запускаться каждый раз, когда просматривается страница. –
Извините за опечатку. Получил концепцию сейчас ... Думаю, придется отредактировать ссылки тогда ... Нет выхода! Спасибо за понимание! –