Py学习  »  Django

noreversematch at/django模板呈现

PohodePES • 4 年前 • 680 次点击  

我有这个问题,被困了几个小时。

Noreversematch在/ 找不到参数为“('',)”的“hotovo”的反转。尝试了1个模式:[hotovo/(?p[^/]+)$']。

网址:

urlpatterns = [ path('', views.index, name='index'), path('hotovo/<jedlo_id>', views.hotovo, name='hotovo') ]

意见:

def hotovo(request, jedlo_id):
jedlo = VyberJedla.objects.get(pk=jedlo_id)
jedlo.vybrane = True
jedlo.save()

return redirect('')

模板:

<body>

  <h1>Veber si z jedal:</h1>
  {% block content%}
  <div class="wrapper"></div>
  {% for zoznam in zoznam%}
    {%if zoznam.vybrane%}
      <h1><a href="{% url 'hotovo' jedlo.id%}" class="hotovo"> {{zoznam.nazov_jedla}}</a><input type="checkbox" name="cekbox"></h1>
    {%else%}
      <h1><a href="{% url 'hotovo' jedlo.id%}" class="este_nie"> {{zoznam.nazov_jedla}}</a><input type="checkbox" name="cekbox"></h1>
    {%endif%}
  {%endfor%}
</div>
  {%endblock%}
</body>
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46905
 
680 次点击  
文章 [ 1 ]  |  最新文章 4 年前
arjun
Reply   •   1 楼
arjun    4 年前

如果试图重定向到空路径,则需要更改此

return redirect (' ')

return redirect ('/')

产科加强生命支持 你需要在模板中渲染并传递jedelo对象,我在这里没有看到。

def hotovo(request, jedlo_id):
  jedlo=
  VyberJedla.objects.get(pk=jedlo_id)
  jedlo.vybrane = True
  jedlo.save()

  return render(request,'your_template',{'jedlo':jedlo})

编辑:在模板中,使用循环变量迭代对象 zoznam 所以不是 jedlo.id 使用 zoznam.id

  <h1><a href="{% url 'hotovo' zoznam.id 
%}" class="hotovo"> 

确保 佐兹南.id 一定是一样的 VyberJedla 模型对象。