我在Django中有一个UpdateView。
我只有一个普通的提交按钮。当对象正确更新后,它将通过success_url
重定向到对象列表。
我能否制作两个不同的提交按钮:一个按钮提交并重定向到对象列表页面(ListView),另一个按钮提交并重定向到对象详细页面(DetailView)?
我不知道如何以巧妙的方式实现这一点。
我在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')