Django 中相同表单的两个不同的提交按钮

2024-01-03

我在 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')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 中相同表单的两个不同的提交按钮 的相关文章

随机推荐