2009-02-11 3 views
0

Деловая ситуация:
У меня есть Apache с mod_python на windows xp, а мой проект django отсутствует в корне документа.
Расположение проекта Django определяется тегом. Здесь также определяется django.root.
Все URL-адреса прекрасно работают на встроенном сервере, но, к сожалению, не в Apache. В некоторых URL-адресах, особенно те, которые не указывают на администратора, не работают. Часть django.root отключается.
Как я могу избежать этого?Как я могу убедиться, что URL-адреса работают одинаково на встроенном веб-сервере и Apache

Одним из решений может быть установка django-проекта в документ-корень Apache. Существуют ли другие решения?

ответ

1

Django будет правильно использовать часть django.root, если вы создадите ссылки в файлах шаблонов с помощью {% url %} tags и позвонив в вызовы HTTPResponseRedirects() reverse().

Его значение сохраняется в HttpRequest - request.META [ 'SCRIPT_NAME'], и вы можете использовать его также в шаблонах с:

{% if user.is_staff %} 
    <li> 
     <a href="{{ request.META.SCRIPT_NAME }}/admin">Administration</a> 
    </li> 
    {% endif %}