Подтвердить что ты не робот

Как разместить ссылку /url на домашней странице веб-сайта в Django?

В шаблонах Django существует ли переменная в контексте (например, {{ BASE\_URL }}, {{ ROOT\_URL }} или {{ MEDIA\_URL }}), которую можно использовать для ссылки на URL-адрес home проекта?

т.е. если Django запущен в корне проекта, переменная (пусть ее называют R) {{ R }} в шаблоне будет /. Если корневой url является подпапкой http://host/X/, переменная {{ R }} будет /X/ (или http://host/X/).

Это кажется больно простым, но я не могу найти ответ.:) Спасибо!

4b9b3361

Ответ 1

Вы можете указать конфигурацию URL-адреса, которую используете для обработки домашней страницы, и использовать ее:

urls.py:

from django.conf.urls.defaults import *

urlpatterns = patterns('myproject.views',
    url(r'^$', 'index', name='index'),
)

Шаблоны:

<a href="{% url index %}">...

В этой заметке в книге Django есть несколько советов о развертывании ваших приложений в подкаталоге:

http://www.djangobook.com/en/1.0/chapter20/#cn43

Ответ 2

Я всегда использую что-то вроде <a href="/"> (предполагая, что ваш дом у корня, конечно). Кажется, я вспоминаю один раз об этом и не могу найти переменную Django для этого пути; во всяком случае, / казалось довольно легким, во всяком случае.

Ответ 3

В вашем администраторе перейдите на "сайты" и установите домен.

Передайте context_instance=RequestContext(request) в соответствующие шаблоны.

Теперь используйте {{ SITE_URL }} в любом из этих шаблонов, и вы золотые.

Глава 10 Django Book содержит больше информации, чем вам нужно будет отредактировать этот бит контекстного процессора.

Ответ 4

(r'^$', 'django.views.generic.simple.redirect_to', {'url': '/home/'}),

отлично работает:)