首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第4课: NoReverseMatch at /enquete/2/

第4课: NoReverseMatch at /enquete/2/
EN

Stack Overflow用户
提问于 2019-03-02 17:43:47
回答 1查看 69关注 0票数 0

我有以下错误

相反的‘表决’与论点'(2,)‘找不到。已尝试的1个模式:['enquete\/\‘

这是我的回溯

代码语言:javascript
复制
Internal Server Error: /enquete/2/
Traceback (most recent call last):
  File "/home/johnl/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 156, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 154, in _get_response
    response = response.render()
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/response.py", line 106, in render
    self.content = self.rendered_content
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/response.py", line 83, in rendered_content
    content = template.render(context, self._request)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/template/defaulttags.py", line 442, in render
    url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
  File "/home/johnl/.local/lib/python3.6/site-packages/django/urls/base.py", line 90, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/home/johnl/.local/lib/python3.6/site-packages/django/urls/resolvers.py", line 622, in _reverse_with_prefix
    raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'vote' with arguments '(2,)' not found. 1 pattern(s) tried: ['enquete\\/\\<int\\:question_id\\/vote\\/$']
[02/Mar/2019 17:18:39] "GET /enquete/2/ HTTP/1.1" 500 112049
^C%  

这是我的观点,view.py

代码语言:javascript
复制
 class DetailView(generic.DetailView):
      model = Question
      template_name = 'enquete/detail.html'

这是我的网址,url.py

代码语言:javascript
复制
  app_name = 'enquete'
  urlpatterns = [
      path('',views.IndexView.as_view(), name='index'),
      path('<int:pk>/',views.DetailView.as_view(),name='detail'),
      path('<int:pk>/results',views.ResultsView.as_view(),name='results'),
      path('<int:question_id/vote/',views.vote,name='vote'),
 ]

这是我的模板,detail.html

代码语言:javascript
复制
<h1> {{ question.question_text }} </h1>

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
<form action="{% url 'enquete:vote' question.id %}" method="get">
{% csrf_token %}
{% for choice in question.choice_set.all %}
    <input type="radio" name="choice" id="choice {{forloop.counter}}" value="{{choice.id}}">
    <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br>
{% endfor %}    
<input type="submit" value="Vote">
</form>

我需要在我的模型中增加投票吗?如果是的话怎么做。我对下一步该做什么很有信心。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-02 18:02:18

您有错误的url路径,请更正如下。Missplaced >

代码语言:javascript
复制
path('<int:question_id>/vote/',views.vote,name='vote'),
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54961257

复制
相关文章

相似问题

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