我在 Django 中有一个 UpdateView。
我只有一个普通的提交按钮。正确更新对象后,它会通过 success_url
重定向到对象列表。
我可以制作两个不同的提交按钮:一个提交并重定向到对象列表页面 (ListView) 的按钮和另一个提交并重定向到对象详细信息页面 (DetailView) 的按钮吗?
我不知道如何巧妙地做到这一点。
最佳答案
由于您要提交到同一个地方,并且只想在保存后更改重定向目标,所以这很简单。提交按钮就像任何其他输入控件一样,它们有一个名称和一个值,并且您在 POST 数据中接收到它们。因此,在您的模板中,您可以:
<input type="submit" name="list" value="Submit and go to list">
<input type="submit" name="detail" value="Submit and go to detail">
在你看来:
if form.is_valid():
form.save()
if 'list' in request.POST:
return redirect('list_url')
else:
return redirect('detail_url')
关于python - Django 中相同表单的两个不同提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26256469/