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

StackOverflow https://stackoverflow.com/questions/226528

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

urls.py:

from django.conf.urls.defaults import *

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

Шаблоны:

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

Обновить: Более новые версии Django требуют заключения имени представления в кавычки:

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

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

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

Другие советы

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

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

Пройти context_instance=RequestContext(request) к шаблонам, о которых идет речь.

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

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

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

работает нормально :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top