2016-08-04 3 views
1

Я пытаюсь создать меню в шаблоне, который приводит к некоторым подстраницам:Как создать правильный путь в шаблоне Django

<a href="/">HOME</a> <a href="/about/">O NAS</a> <a href="/rules/">REGULAMIN</a> <a href="/faq/">FAQ</a> <a href="/docs/">DOKUMENTY</A> <a href="/contact/">KONTAKT</a> 

И это работает только тогда, когда я положил его в основную папку, так что URL является http://example.org/about/ ,

Когда я положил его в какой-то вложенной пойдет не так:

http://example.org/subfolder/about/ работает, но ссылки в меню приводит к еще http://example.org/about/ что правильное поведение.

относительный путь не работает, поскольку он добавляет вместо замены последней части URL-адреса, например .: http://example.org/subfolder/about/rules/.

Если бы я знал, какой URL-адрес будет размещен, я могу скопировать его в шаблон, но я уверен, что он будет работать в двух местах с разными «подпапками», и я хочу заставить его работать в любой среде ,

Я пытаюсь найти решение, но это приводит меня к TEMPLATE_CONTEXT_PROCESSORS, который не работает для меня, и я не уверен, что именно это я пытаюсь получить, поэтому я не погружаюсь глубоко вглубь.

ответ

0

Раствор добавлял

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP 

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request', 
) 

в settings.py

Это был найден здесь: https://stackoverflow.com/a/9233283/354420

В шаблоне можно использовать views.about или name, если они определены.

1

Name your URL's.

url(r'^about', views.about, name="about") 

Затем используйте URL template tag генерировать соответствующий URL для каждого имени.

{% url 'about' %} 
+0

NoReverseMatch at/Reverse для 'about' с аргументами '()' и аргументы ключевого слова '{}' не найдены. 0 образцов (-ов): [] –

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