2013-09-17 4 views
0

У меня есть сайт 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 псевдоним начинается ...

с уважением

ответ

1

вы не показывают код, но вы, вероятно, жесткого кодирования URL-адреса в шаблонах. Не делайте этого: вы всегда должны использовать тег {% url %} для их динамического расчета. Когда вы это сделаете, Django автоматически применит базовый путь (переданный как параметр SCRIPT_NAME в среде WSGI), и все будет хорошо.

+0

Спасибо за ответ. Я попытался установить этот SCRIPT_NAME вручную в файле загрузчика WSGI как: os.environ ["SITE_NAME"] = '/ djangoSite' , но он ничего не делает ... Невозможно установить его вручную ..? В принципе, у меня есть 20 нечетных файлов шаблонов с кучей ссылок. Итак, существует ли способ, помимо необходимости редактировать каждую ссылку в файлах шаблонов.? –

+0

Извините за опечатку. Получил концепцию сейчас ... Думаю, придется отредактировать ссылки тогда ... Нет выхода! Спасибо за понимание! –

Смежные вопросы