【问题标题】:Is it possible to create two different submit button in one form in Django?是否可以在 Django 中以一种形式创建两个不同的提交按钮?
【发布时间】:2021-08-26 23:41:49
【问题描述】:

所以我正在处理我的 Django 项目并遇到了一个问题。我有一个自定义的 ModelForm,我正在尝试两种不同的作品。我正在尝试为表单创建两个提交按钮,一个用于正常提交,另一个用于更改输入数据然后提交。

例如,假设我的表单中有name 字段。如果用户单击按钮 A,则提交 name。但是如果用户单击按钮 B,我希望将 name 字段提交为 name@gmail.com
在一个 Django 表单中是否可以有两个按钮以不同的方式工作?提前致谢。

【问题讨论】:

    标签: django django-views django-forms


    【解决方案1】:

    这是可能的,在你看来你会做这样的事情:

    class SomeView(UpdateView):
        
        ...
    
        def form_valid(self, form):
            self.object = form.save(commit=False)
            if 'add-email' in self.request.POST:
                self.object.name = f'{self.object.name}@gmail.com'
                
            self.object.save()
    

    然后在你的模板中:

    <form ...>
        <button type="submit" name="save">Submit</button>
        <button type="submit" name="add-email">Submit with Email</button>
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-02
      • 2014-12-03
      • 2012-12-29
      • 2018-01-19
      • 1970-01-01
      • 2013-08-31
      • 2019-01-16
      • 1970-01-01
      相关资源
      最近更新 更多