为了账号安全,请及时绑定邮箱和手机立即绑定

在Django中在一个页面上处理多个表单的正确方法

在Django中在一个页面上处理多个表单的正确方法

慕勒3428872 2019-07-25 15:59:08
在Django中在一个页面上处理多个表单的正确方法我有一个期待两种形式的模板页面。如果我只使用一个表单,那么就像这个典型的例子一样好:if request.method == 'POST':     form = AuthorForm(request.POST,)     if form.is_valid():         form.save()         # do something.else:     form = AuthorForm()但是,如果我想使用多个表单,我如何让视图知道我只提交其中一个表单而不是另一个表单(即它仍然是request.POST但我只想处理提交的表单事情)吗?这是该解决方案基于这样的答案expectedphrase和bannedphrase是不同形式和不同的提交按钮的名称expectedphraseform和bannedphraseform是形式。if request.method == 'POST':     if 'bannedphrase' in request.POST:         bannedphraseform = BannedPhraseForm(request.POST, prefix='banned')         if bannedphraseform.is_valid():             bannedphraseform.save()         expectedphraseform = ExpectedPhraseForm(prefix='expected')     elif 'expectedphrase' in request.POST:         expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected')         if expectedphraseform.is_valid():             expectedphraseform.save()          bannedphraseform = BannedPhraseForm(prefix='banned')else:     bannedphraseform = BannedPhraseForm(prefix='banned')     expectedphraseform = ExpectedPhraseForm(prefix='expected')
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你有几个选择:

  1. 在两个表单的操作中放入不同的URL。然后你将有两个不同的视图函数来处理两种不同的形式。

  2. 从POST数据中读取提交按钮值。您可以判断单击了哪个提交按钮:如何构建多个提交按钮django表单?


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 2791 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信