2010-09-06 3 views
0

Подобные вопросы задавались ранее на этом сайте, но у меня возникло сомнение относительно того, как теги привязки моего сайта будут заменены, когда я попытаюсь разместить мой сайт под suburl.Django, используя mod_wsgi для подзаголовков

E.g. Мой домен www.example.com и мой suburl, который сопоставляется с установкой Django, является www.example.com/2010/registration Теперь, когда привязывающие теги в моих шаблонах (для ссылок) имеют форму '/'(для ссылки на корень), которому удалось сохранить остальную часть URL-адреса, ссылки не содержатся внутри www.example.com. Так, например, если мой якорь тег формы

<a href='/profile'>Profile</a> 

Тогда мой якорь тег на сайте становится www.example.com/profile вместо того, чтобы стать www.example.com/2010/registration/profile/

Есть ли какой-либо возможный способ обойти эту вещь?

Спасибо, Нитин

ответ

2

Есть теги, которые могут быть использованы в шаблонах для обеспечения правильного префикса добавляется. Начните с чтения:

http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#url

+0

Как насчет HttpResponseRedirect, который я использовал в представлениях? Нужно ли мне заменять их абсолютными URL-адресами вручную? – niting

+0

@niting: Нет, вам не нужно заменять их абсолютными URL-адресами. Вам будет намного лучше называть ваши URL-адреса и использовать 'reverse()' вместо абсолютных URL-адресов. –

+0

Спасибо большое, ребята ..... Я хотел отметить оба ответа, как принято: D – niting

1

Как говорит Грэм, используйте {% url %} тег в шаблонах. В представлениях используйте функцию reverse(), что эквивалентно. См. the documentation.