Django Navbar No Reverse Match error - как это исправить?
Я получаю следующую ошибку при попытке связать мой navbar в base.html в Django.
NoReverseMatch at / / 'home' не является зарегистрированным пространством имен
Я не уверен, почему он не работает, любая помощь будет очень признательна!
base.html:
<ul class="nav navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link text-white" href="{% url 'home:home' %}"><strong>Home</strong></a></li>
<li class="nav-item"><a class="nav-link text-white" href="{% url 'home' %}"><strong>My Health</strong></a></li>
<li class="nav-item"><a class="nav-link text-white" href="{% url 'login' %}"><strong>Login</strong></a></li>
<li class="nav-item"><a class="nav-link text-white" href="{% url 'signup' %}"><strong>Signup</strong></a></li>
</ul>
urls.py:
urlpatterns = [
path('', views.home, name='home'),
path('signup/', views.signup, name='signup'),
path('login/', views.login, name='login'),
path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url("favicon.ico"))),
path('success/', views.success_view, name='success'),
]
views.py:
def home(request):
return render(request, 'HealthHub/home.html')
В вашем urls.py вы должны изменить эту строку:
<li class="nav-item"><a class="nav-link text-white" href="{% url 'home' %}"><strong>Home</strong></a></li>
Если вы пишете home:home
django ищет имя app_name под названием home в вашем файле urls.py.