Как я могу динамически установить значение по умолчанию для WTForms FormField? - PullRequest
1 голос
/ 05 марта 2020

Учитывая следующие две WTFforms:

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 Ответ

1 голос
/ 05 марта 2020

Используйте атрибут data.

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