Flask-wtf: использование kwarg для установки начального значения поля

Я хотел бы использовать kwarg, чтобы установить начальное значение поля формы. Ранее я делал что-то похожее на:

from wtforms import Form
from wtforms.fields import StringField

class BasicForm(Form):
    inputField = StringField("Name")

basic_form_kwargs = {"inputField" : "Example"}
basic_form = BasicForm(**basic_form_kwargs)
print basic_form.inputField
#<input id="inputField" name="inputField" type="text" value="Example">

Этот код работает, как я ожидаю. Атрибут значения установлен в "Пример". Однако, когда я начинаю использовать FormFields, это не работает, как я ожидаю.

from wtforms import Form
from wtforms.fields import StringField

class ChildForm(Form):
    inputField = StringField("Name")
class ParentForm(Form):
    childWrapper = FormField(ChildForm)

complex_form_kwargs = {"childWrapper-inputField" : "Example"}
complex_form = ParentForm(**complex_form_kwargs)
print complex_form.childWrapper.inputField
#<input id="childWrapper-inputField" name="childWrapper-inputField" type="text" value="">

Какой kwarg нужно передать, чтобы я мог установить значение inputField при использовании FormFields?

1 ответ

Решение

Так же, как вы передали dict в форму родительского уровня, вам нужно передать dict в дочернюю форму следующим образом:

kwargs = {"childWrapper": {"inputFIeld": "Example2"}}
form = ParentForm(**kwargs)
Другие вопросы по тегам