NoReverseMatch в /polls/1/ в Django 4.0
Я изучаю Django по официальной документации и получаю такую ошибку:
NoReverseMatch at /polls/1/
Reverse for 'vote' with arguments '('',)' not found. 1 pattern(s) tried: ['polls/(?P<question_id>[0-9]+)/vote/\\Z']
Request Method: GET
Request URL: http://127.0.0.1:8000/polls/1/
Django Version: 4.0
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'vote' with arguments '('',)' not found. 1 pattern(s) tried: ['polls/(?P<question_id>[0-9]+)/vote/\\Z']
Вот мои url-шаблоны:
urlpatterns = [
path('', views.index, name='polls'),
path('<int:question_id>/', views.detail, name='detail'),
path('<int:question_id>/result/', views.result, name='result'),
path('<int:question_id>/vote/', views.vote, name='vote'),
]
ФайлView.py:
def index(request):
latest_questions = Question.objects.order_by('-pub_date')
return render(request, 'polls/index.html', {'latest_questions': latest_questions})
def detail(request, question_id):
detail = get_object_or_404(Question, pk=question_id)
return render(request, 'polls/detail.html', {'detail': detail})
def result(request, question_id):
return HttpResponse("This is the result for question no. %s" % question_id)
def vote(request, question_id):
return HttpResponse("You are voting for question %s" % question_id)
Здесь проблема кроется в файле detail.html:
<form action="{% url 'vote' question.id %}" method="post">