Django Reverse for '' not found. '' не является правильным именем функции представления или шаблона
Я получаю ошибку "Django Reverse for '' not found. '' is not a valid view function or pattern name.
". Я искал способ исправить это, но не смог ничего найти urls.py и views.py, home.html и atrakcja_details.html находятся в одной и той же папке App.
urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('atrakcja_details/<int:atrakcja_id>/', views.atrakcja_details, name='atrakcja_details'),
path('about/', views.about_page, name='about'),
]
views.py:
from django.shortcuts import render, get_object_or_404
from .models import Atrakcja
from django.http import HttpResponse
def atrakcja_details(request, atrakcja_id): # Add atrakcja_id parameter
if atrakcja_id:
atrakcja = get_object_or_404(Atrakcja, id=atrakcja_id)
return render(request, 'atrakcja_details.html', {'atrakcja': atrakcja})
else:
return HttpResponse("Atrakcja not found.")
def about_page(request):
return render(request, 'about/about.html')
home.html:
<a href="{% url 'atrakcja_details' atrakcja_id=atrakcja.id_atrakcji %}">
Я пробовал использовать пространство имен, но оно все равно не работает, я ничего не перепутал. Может быть, проблема в urls.py?
Traceback:
Вероятно, это связано с неправильным разрешением вашего URL, в частности с тем, как вы обозначаете параметр atrackcja_id
как int. Должно быть так:
urlpatterns = [ path('atrakcja_details/<int:atrakcja_id>/', views.atrakcja_details, name='atrakcja_details'), path('about/', views.about_page, name='about'), ]