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

问题描述 投票:0回答:1

给出以下两个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)丢失。

python-3.x flask flask-wtforms wtforms
1个回答
0
投票

使用data属性。

form.nested_forms[0].some_id.data = `some_contextual_default_value`
© www.soinside.com 2019 - 2024. All rights reserved.