更新wtforms中的提交按钮文本

时间:2015-08-20 00:01:16

标签: python flask wtforms flask-wtforms

我有一个表单,用于新的提交和更新。我的问题是关于提交按钮的文本。我想根据具体情况将文本更改为新提交新更新。这纯粹是提供信息。

class Interview(Form):
    ...
    submit = SubmitField('New submit')  

如果可能的话,我想避免创建一个具有完全相同字段的新类,只是因为提交文本。

3 个答案:

答案 0 :(得分:6)

使用mixins执行此操作的正确方法:

class InterviewMixin():
    ...

class InterviewSubmit(Form, InterviewMixin):
    submit = SubmitField('New submit')

class InterviewUpdate(Form, InterviewMixin):
    submit = SubmitField('New update')

答案 1 :(得分:1)

旧问题,但对于其他遇到此问题的人来说,另一种方法是在呈现模板之前从代码中设置它:

if is_submit:
    form.submit.label.text = 'New submit'
else:
    form.submit.label.text = 'New update'

return render_template(...)

答案 2 :(得分:0)

正确的方法是制作两个表单并检查在服务器端按下哪个提交按钮。

if submit_form.validate_on_submit() and submit_form.any_field.data:
        print "submit_form submit button is Pressed"
elif update_form.validate_on_submit() and update_form.any_field.data:
        print "update_form submit button is submitted"