Как выделить активный пункт меню?

<div class="menu-top" style="width:715px;">
      <ul class="nav nav-pills">
        <li>
          <a href="/phylosophy"
          {% if request.path == '/phylosophy' %}class="active"{% endif %}>
          philosophy
          </a>
        </li>
        <li><a href="/product-cream"><u>{% trans 'product' %}</u></a></li>
        <li><a href="/contacts"><u>{% trans 'contact' %}</u></a></li>
        <li><a href="/news"><u>{% trans 'news' %}</u></a></li>
        <!-- <li><a href="#" class="hover"><u> {% trans '(store)' %}</u></a></li> -->
      </ul>
    </div>


Есть навигационное меню, когда я нахожусь в указанном разделе, к ссылке должен добавляться класс active, но не добавляется.
И ещё я не могу разобраться как мне убирать тег u, когда ссылка активна, в данном случае он не нужен.
  • Вопрос задан
  • 1973 просмотра
Пригласить эксперта
Ответы на вопрос 3
kentuck1213
@kentuck1213
значит request.path не равняется '/phylosophy'. Думаю ответ лежит там {{ request.path }}
Ответ написан
думаю, что это не хорошо хардкодить урлы, ведь есть же {% url %}
И тогда подобных недоразумений не будет.
{% url 'phylosophy' as url %}
<a href='{{ url }}' {% if request.path == url %}class="active"{%endif %}>philosophy</a>
Ответ написан
scream4ik
@scream4ik
Альтернативный вариант через javascript https://css-tricks.com/snippets/jquery/add-active-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы