Найти - Пользователи
Полная версия: Подсветка текущего пункта меню средствами django
Начало » Django » Подсветка текущего пункта меню средствами django
1 2
wiygn
Здравствуйте, поставил себе задачу, которая описана в названии темы. На данный момент меню вынесено в отдельный шаблон:

menu.html
<div id="nav">
<ul>
	<li><a href="/">Home</a></li>
	<li><a href="/search/">Search</a></li>
	<li><a href="/time/">Current time</a></li>
	<li><a href="/feedback/">Feedback</a></li>
	<h1>{{ request.path }}</h1> <!-- Вывод текущего path -->
</ul>
</div>
Хочется средствами django добавить селектор:
.iscurrent {
	font-size: 1.1em;
	border-bottom: 1px #f00 dotted;
	}
к пункту меню, который ссылается на текущий request.path
Как, собственно, осуществить все это в шаблоне средствами django?
hulygun
{% if 'сцылко/пункта/меню' == request.path %}...
wiygn
hulygun, спасибо за ответ, у меня было реализовано похожим образом:
<li><a {% ifequal request.path "/" %}class="iscurrent"{% endifequal %} href="/">Home</a></li>
Но на stackoverflow я видел кучи других решений. Не могу понять теперь преимуществ одних перед другими.
FishHook
Не стОит в ссылках href писать путь, для этого в роутинге джанги есть параметр name
#urls.py
url(regexp, view, name="index")

<li><a href="{% url index %}">Home</a></li>
Это избавит Вас от многих проблем
unkier
FishHook
Не стОит в ссылках href писать путь, для этого в роутинге джанги есть параметр name

а если урл динамический ?
inoks
передавайте параметр в урл, он будет динамически строиться
{% url 'user_profile' user.id %}
buddha
wiygn, по мне так лучше под такие задачи подучить JS\JQuery, благо учится быстро и легко.
А всякие такие фишечки кодить на серверной части будут каверкать серверную логику. Но это моё мнение.
Lexander
buddha
К сожалению, пауки поисковиков не видят JS, поэтому сервер - это единственное место, где этот вопрос можно решить.
buddha
А для чего паукам поисковиков знать какое меню активно?
Активная менюшка - это ж просто визуальное удобство для пользователя, нет?
Lexander
Уже года 3 как нет.
Это влияет на определение веса ссылки.
Плюс любая активная ссылка входит максимально допустимое для хоста количество ссылок, обрабатываемых пауком за 1 раз.
Видел сайты, где googlebot тупо не доходил до нужных разделов и они не были даже включены в поисковую базу.

Поэтому любые ссылки на текущую страницу нужно делать недоступными.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB