gpt4 book ai didi

django - NoReverseMatch at/Django模板渲染

转载 作者:行者123 更新时间:2023-12-03 08:44:12 28 4
gpt4 key购买 nike

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

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>

最佳答案

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


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">

确保 zoznam.id必须是相同的 VyberJedla模型对象。

关于django - NoReverseMatch at/Django模板渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58360889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com