存在し、私は、次のフラスコ-WTFのフォームを持っている場合は、データとフォームを移入:WTForms:データは
class PersonForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
age = IntegerField('Age', validators=[NumberRange(min=0)], render_kw={'type': 'number'})
educated = BooleanField('Educated', render_kw={'type': 'checkbox'})
私はそうのようなフォームに値を渡すことで、フォームを事前に移入することができます知っている:
form = PersonForm(name='Johnny', age=25, educated=True)
フォームにオブジェクトを注入することでこれを行うより良い方法があることに気付きました(参照hereとhere)。私は以下を試してみましたが、うまくいきません。どこが間違っているのですか(オブジェクトは辞書以外のものになっていますか?)
person = {'name': 'Johnny', 'age': 25, 'educated'=True}
form = PersonForm(obj=person)
これらの事前設定された値は、データベースに由来します。いくつかの値は定義されていないものがありますたとえば、別の「人物」は{'name': 'Jessica', 'educated': True}
のように見えます(この場合、年齢フィールドは空白になります)。
MultiDict。これはフラスコ要求の投稿データが返されるものです。これは、フラスコの要求でポストデータとともに使用するためのものです。 – Artagel
データベースから取得するデータからMultDictを作成するにはどうすればよいですか? –
'form = PersonForm(data = person)'を代わりに使ってみましたか? –