Шаблон Django url не является зарегистрированной функцией или шаблоном представления
У меня есть небольшое веб-приложение Django с несколькими приложениями внутри. Я использовал include в файлах urls.py, но всякий раз, когда я ссылаюсь на URL в HTML файлах, они не загружаются. Ниже приведены три моих файла urls.py. У меня проблема конкретно с шаблоном nodes url в nodes urls.py
#main urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('account/', include('account.urls')),
]
#account urls.py
from django.urls import path, include
from django.contrib.auth import views as auth_views
from . import views
app_name = 'account'
urlpatterns = [
path('login/', auth_views.LoginView.as_view(), name='login'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
path('dashboard/', views.dashboard, name='dashboard'),
path('nodes/', include('nodes.urls')),
]
#nodes urls.py
from django.urls import path
from . import views
app_name = 'nodes'
urlpatterns = [
path('', views.nodes, name='nodes'),
]
Вот мой HTML-файл, в котором я ссылаюсь на шаблон URL:
<li {% if section == 'nodes' %}class="active"{% endif %}>
<a class="nav-link" href="{% url 'nodes' %}">Nodes</a>
</li>
Любая помощь была бы замечательной, спасибо
Из-за этого имени шаблона, которое вы задали в urls file
если изменить HTML файл на этот, то он должен быть исправлен:
<li {% if section == 'nodes' %}class="active"{% endif %}>
<a class="nav-link" href="{% url 'account:nodes:nodes' %}">Nodes</a>
</li>
просто для подсказки :) если импортировать файл urls в django shell и вывести список urlspatterns
, то можно увидеть, как имя по умолчанию присваивается вашему nodes
пути.