Выделение активных ссылок не работает на сайте Django
Я выполнил все необходимые шаги для выделения активных ссылок в моем проекте Django Website. Когда я нажимаю на "О нас", "Свяжитесь с нами" или "Услуги" в строке меню, ни одна из опций строки меню не подсвечивается, подскажите мне, как это сделать. Спасибо за доброе ожидание
<!-- Main header start -->
<header class="main-header sticky-header header-with-top">
<div class="container">
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand company-logo" href="index.html">
<img src="{% static 'img/logos/black-logo.png'%}" alt="logo">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="fa fa-bars"></span>
</button>
<div class="navbar-collapse collapse w-100" id="navbar">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Home
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="cars.html">
Cars
</a>
</li>
{% url 'about' as url %}
<li class="nav-item">
<a class="nav-link {% if request.path == about %} active {% endif %}" href="{{url}}">
About
</a>
</li>
{% url 'services' as url %}
<li class="nav-item">
<a class="nav-link {% if request.path == services %} active {% endif %}" href="{{url}}">
Services
</a>
</li>
{% url 'contact' as url %}
<li class="nav-item dropdown">
<a class="nav-link {% if request.path == contact %} active {% endif %}" href="{{url}}">Contact</a>
</li>
<li class="nav-item dropdown m-hide">
<a href="#full-page-search" class="nav-link h-icon">
<i class="fa fa-search"></i>
</a>
</li>
</ul>
</div>
</nav>
</div>
</header>
<!-- Main header end --> ```
{% if request.path == about %}
проверяет наличие переменной с именем about
, но такой переменной с именем about
не существует. Вы назвали ее url
, поэтому:
{% if request.path == url %}
При этом я не думаю, что это хорошая идея. Как правило, структура меню в бэкенде представлена ссылками или используется JavaScript, который проверяет, является ли href
(префиксом) пути, и автоматически выделяет его.