首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django文档教程NoReverseMatch /polls/1/results/

Django文档教程NoReverseMatch /polls/1/results/
EN

Stack Overflow用户
提问于 2020-12-27 17:04:19
回答 1查看 44关注 0票数 0

我得到以下错误:

代码语言:javascript
复制
Reverse for 'vote' with no arguments not found. 1 pattern(s) tried: ['polls/(?P<question_id>[0-9]+)/vote/$']

在polls.views中

代码语言:javascript
复制
def vote(request, question_id):
    question = get_object_or_404( Questions, pk=question_id)
    try:
        selected_choice = question.choice_set.get(pk=request.POST['choice'])
    except (KeyError, Choice.DoesNotExist):
        return render(request, 'polls/detail.html',{'question':question, 'error_message':"You didn't select a choice."} )
    else:
        selected_choice.votes += 1
        selected_choice.save()
        return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))

def results(request, question_id):
    question = get_object_or_404(Questions, pk = question_id)
    return render(request,'polls/result.html',{'question':question})

Polls url_patterns

代码语言:javascript
复制
urlpatterns = [
    path('',views.index,name='index'),
    path('<int:question_id>/',views.details, name='details'),
    path('<int:question_id>/results/',views.results, name='results'),
    path('<int:question_id>/vote/',views.vote, name='vote')
]

和polls/result.html

代码语言:javascript
复制
<h1>{{question.question_text}}</h1>
    
<ul>
        
    {% for choice in question.choice_set.all %}
        <li>{{choice.choice_text}} -- {{choice.votes}} votes {{choice.votes|pluralize}}</li>
    {% endfor %}
            
</ul>
<a href="{% url 'polls:vote' %}">Vote Again?</a>
EN

回答 1

Stack Overflow用户

发布于 2020-12-27 17:23:14

您缺少vote反向url模式中的question_id。下面的url必须是整型id

代码语言:javascript
复制
path('<int:question_id>/vote/',views.vote, name='vote')

您没有在html模板中的反向URL中提供。

代码语言:javascript
复制
<a href="{% url 'polls:vote' %}">Vote Again?</a> 

像这样传递vote_id

代码语言:javascript
复制
<a href="{% url 'polls:vote' vote_id %}">Vote Again?</a> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65464260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档