![](/img/trans.png)
[英]How can I redirect to a new page after submitting a form using Jinja template?
[英]How to redirect to a new page using an object id after submitting a form in Django?
我想重定向到提交表单时新创建的页面。 我尝试并得到了NoReverseMatch
错误。
这是引发的异常:
反向使用关键字参数 '{'id': 15}' 未找到 'receive'。 尝试了 1 个模式:['receive/(?P[0-9]+)$']
以下是我的看法:
def new_receive(request):
"""The page for adding a new receive."""
if request.method != 'POST':
form = ReceiveForm()
else:
form = ReceiveForm(data=request.POST)
if form.is_valid():
new_receive = form.save(commit=False)
new_receive.save()
return redirect('imsapp:receive', id=new_receive.id)
context = {'form':form}
return render(request, 'imsapp/new_receive.html', context)
def receive(request, receive_id):
"""The page for viewing a receive."""
receive = Receive.objects.get(id=receive_id)
receipt_no = receive.receipt_no
date = receive.date
context = {'receive':receive, 'receipt_no':receipt_no, 'date':date}
return render(request, 'imsapp/receive.html', context)
以下是网址模式:
# Page for adding a receive
path('new_receive', views.new_receive, name='new_receive'),
# Page for viewing a receive
path('receive/<int:receive_id>', views.receive, name='receive'),
这个问题由@bruno desthuilliers 在上面的评论部分回答
并且您的 urlpath 参数定义为“receive_id”,而不是“id”=> return redirect('imsapp:receive', receive_id=new_receive.id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.