Python Django测试客户端:轮询应用程序第5部分NoReverseMatch

Python Django测试客户端:轮询应用程序第5部分NoReverseMatch,python,django,xcode,helper,Python,Django,Xcode,Helper,我遵循,我复制一切确保我有100%相同的代码,他们有,但当我使用 response = client.get(reverse('polls:index')); 我犯了一个很大的错误,所有的笔记对我来说都没有意义。有人告诉我这与我的views.py有关,但我查看了Django网站,它与我的网站100%相同。这就是我得到的错误: django.urls.exceptions.NoReverseMatch: Reverse for 'vote' with arguments '('',)' not

我遵循,我复制一切确保我有100%相同的代码,他们有,但当我使用

response = client.get(reverse('polls:index'));
我犯了一个很大的错误,所有的笔记对我来说都没有意义。有人告诉我这与我的views.py有关,但我查看了Django网站,它与我的网站100%相同。这就是我得到的错误:

django.urls.exceptions.NoReverseMatch: Reverse for 'vote' with arguments '('',)' not found. 1 pattern(s) tried: ['pools/(?P<question_id>[0-9]+)/vote/$']
django.url.exceptions.NoReverseMatch:找不到参数为“(“”,)”的“投票”的反向。尝试了1种模式:[“池/(?P[0-9]+)/投票/$”]

看起来您必须在URL上指定名为question\u id的GET参数

匹配时,django.url引发异常 无法根据参数识别URLconf中的URL 供应

错误表示您必须提供问题id。我使用1作为示例

http://localhost:8000/pools/1/vote/

欢迎来到StackOverflow。代码和/或错误的图像可能很有用,但更有用的步骤是复制/粘贴错误本身的文本。当别人试图回答你的问题时,这节省的脑力带宽会随着时间的推移而增加。有关这一点的进一步社区讨论,请参见此处-。它们不能被搜索或复制,可用性差。相反,将文本直接粘贴到问题中。如果选择它并单击
{}
按钮或Ctrl+K,代码块将缩进四个空格,这将使其呈现为代码。
def vote(request,question_id):question=get_object_或_404(question,pk=question_id)try:selected_choice=question.choice_set.get(pk=request.POST['choice']),除了(KeyError,Choice.DoesNotExist):返回render(请求,'polls/detail.html',{'question':问题,'error\u message':“您没有选择。”,})else:selected\u Choice.voces+=1 selected\u Choice.save()返回HttpResponseDirect(反向('polls:results',args=(question.id,))
。我想它在这里,我不确定。对不起,我不知道怎么做。它在这里是可读的,我试了5次。你可以随时编辑你自己的问题。我建议你在底部添加一个部分,然后在那里放置任何你想要的东西。这是我的Git repo,也许你可以在这方面帮助我。这会有很大帮助。我看了一下,仍然是您没有正确完成请求。忘记代码。您的views.py看起来不错。问题在于如何在浏览器中编写URL。