如何解决找不到带有参数'','的''尝试了1个模式
我在列表页面上单击此提交按钮时都会收到此错误。我已经仔细研究了引发此类错误的典型位置,但在这里看不到我在做什么错。
错误:
Reverse for 'listing' with arguments '('',)' not found. 1 pattern(s) tried: ['listing/(?P<id>[0-9]+)$']
,然后在页面的下方,在回溯中,此行突出显示如下。为了清楚起见,它突出显示了该视图中的第二次返回渲染。
auctions\views.py,line 229,in closeListing
return render(request,"auctions/closeListing.html",{
我知道在我的视图和URL中,我传递了id的参数,但是在模板上,我传递了listing.id的参数,但是由于某种原因,它一直在我的整个项目中起作用,但是在这里不起作用。我实际上只是试图将视图和URL中的所有参数更改为listing_id以匹配模板中的listing.id,这产生了完全相同的错误,所以我真的迷路了。
views.py
def closeListing(request,id):
bids = Bid.objects.filter(bid_item_id=id).order_by('-bid_input')
winner = Bid.objects.filter(bid_item_id=id).latest('bid_input').bidder.id
winner_name = Bid.objects.filter(bid_item_id=id).latest('bid_input').bidder.username
currentHighest = Bid.objects.filter(bid_item_id=id).aggregate(Max('bid_input'))['bid_input__max']
if request.method == "POST":
if bids == 0:
return render(request,{
"bids": bids,"error": "No bids have been placed on your listing",})
else:
Listing.objects.filter(id=id).update(status='closed')
Listing.objects.filter(id=id).update(winner=winner)
closed = True
return render(request,{
"bids": bids,"current": currentHighest,"winner": winner_name,"closed": True
})
else:
return render(request,{
"bids": bids
})
urls.py
path("listing/<int:id>/close",views.closeListing,name="closelisting")
listingPage.html
{% if request.user.is_authenticated and request.user == listing.lister %}
<div>
<form action="{% url 'closelisting' listing.id %}" method="post">
{% csrf_token %}
<input type=submit value="Close Listing">
</form>
</div>
{% endif %}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。