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

如何建立多个提交按钮Django表单?

如何建立多个提交按钮Django表单?

饮歌长啸 2019-11-22 13:02:23
我有一个带有一个电子邮件输入和两个提交按钮的表单,用于订阅和取消订阅新闻通讯:<form action="" method="post">{{ form_newsletter }}<input type="submit" name="newsletter_sub" value="Subscribe" /><input type="submit" name="newsletter_unsub" value="Unsubscribe" /></form>我也有课表:class NewsletterForm(forms.ModelForm):    class Meta:        model = Newsletter        fields = ('email',)我必须编写自己的clean_email方法,并且我需要知道表单是通过哪个按钮提交的。但是提交按钮的值不在self.cleaned_data字典中。否则我可以获取按钮的值吗?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

您可以self.data在clean_email方法中使用来在验证之前访问POST数据。它应包含一个称为newsletter_sub或newsletter_unsub取决于所按下按钮的键。


# in the context of a django.forms form


def clean(self):

    if 'newsletter_sub' in self.data:

        # do subscribe

    elif 'newsletter_unsub' in self.data:

        # do unsubscribe


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

添加回答

举报

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