【问题标题】: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>