如何动态设置WTForms FormField的默认值?

时间:2020-03-04 22:22:55

标签: python-3.x flask flask-wtforms wtforms

给出以下两个WTF形式:

class NestedForm(FlaskForm):
    note = StringField('Note', validators=[DataRequired()])
    some_id = StringField('Some ID', validators=[DataRequired()])

class Form(FlaskForm):
    id = HiddenField('ID')
    nested_forms = FieldList(
        FormField(NestedForm),
        min_entries=1,
    )

如何动态设置some_id的值?例如,在Flask视图中,如果未提供some_id的值。

我尝试使用以下方法设置值:

form.nested_forms[0].some_id = "some_contextual_default_value"
form.nested_form[0].data['some_id'] = "some_contextual_default_value"

...似乎什么也没做。表单验证继续失败,并显示一条错误消息,指出必填字段(some_id)缺失。

1 个答案:

答案 0 :(得分:1)

使用data属性。

form.nested_forms[0].some_id.data = "some_contextual_default_value"