Выделение текущего url не работает с разрешителем запросов
У меня есть следующие урлы
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('landing', views.landing, name='landing'),
path('json', views.json, name='json'),
path('bootstrap', views.bootstrap, name='bootstrap'),
path('page', views.page, name='page'),
]
Я использую twitter bootstrap 5 и хочу выделить home, когда пользователь посещает целевую страницу, и добавить active, когда текущий url совпадает
<li class="nav-item">
<a href="{% url '' %}" class="nav-link {% if request.resolver_match.view_name == '' %}active{% endif %}">Home</a>
</li>
<li class="nav-item">
<a href="{% url 'page' %}" class="nav-link {% if request.resolver_match.view_name == 'page' %}active{% endif %}">Page</a>
</li>
Я получаю эту ошибку
django.urls.exceptions.NoReverseMatch: Reverse for '' not found. '' is not a valid view function or pattern name.
Даже когда я заменяю пустой '' на 'landing', активный класс не добавляется. Как я могу это исправить?
Я исправил это таким образом
На мой взгляд
def pagex(request):
return render(request, 'desktop/page.html', {'current': 'pagex'})
и в моем шаблоне
<li class="nav-item">
<a href="{% url 'pagex' %}" class="nav-link {% if current == 'pagex' %}active{% endif %}">Page</a>
</li>