Python 带预填充数据的WTF表单
我在一个项目中使用Python3.7.3和WTForms 2.3.3,我试图在构造函数中用数据对象填充表单,如下所示Python 带预填充数据的WTF表单,python,wtforms,Python,Wtforms,我在一个项目中使用Python3.7.3和WTForms 2.3.3,我试图在构造函数中用数据对象填充表单,如下所示 myform = MyForm(data=data_object) 它对StringField、DecimalField等都很有效,但我很难用自定义数据类型填充FieldList。在my forms.py中,我有: class CostCategoryForm(Form): category = SelectField('Costcat.', coerce=int, v
myform = MyForm(data=data_object)
它对StringField、DecimalField等都很有效,但我很难用自定义数据类型填充FieldList。在my forms.py中,我有:
class CostCategoryForm(Form):
category = SelectField('Costcat.', coerce=int, validate_choice=False)
amount = DecimalField('Amount')
class JournalEditEntry(FlaskForm):
bank_account = SelectField('Fin-type',coerce=int, validate_choice=False)
entry_date = DateTimeField('Date', format='%Y-%m-%d')
amount = DecimalField('Amount')
description = StringField('Description')
costcategories = FieldList(FormField(CostCategoryForm))
submit = SubmitField('Save')
my routes.py中未按预期工作的部分:
@app.route('/journal/editentry/<int:entryid>', methods = ['GET', 'POST'])
def journal_edit_entry(entryid):
jrl = Journal.query.filter(Journal.id==entryid).first()
organization_id = jrl.organization_id
# next function gets a list of choices in the format (1, 'label')
choices = get_costcategories_choices_for_organization(organization_id)
formdata = {
'bank_account' : [], # get populated later on
'entry_date' : jrl.transaction_date,
'amount' : jrl.amount,
'description' : jrl.description,
'costcategories' : [
# nothing is displayed in the select fields despite the value for amount gets
# rendered correctly
{'amount' : 123, 'category' : { 'choices' : [(1, 'A'), (2, 'n')] } },
{'amount' : 123, 'category' : choices }
]
}
form = JournalEditEntry(data=formdata)
return render_template('mytemplate.html', form=form)
除了CostCategoryForm中的SelectField之外,所有内容都可以正确呈现。当我将变量选项打印到控制台时,我可以在那里看到正确的值[1,'A',2,'B',…]。
我错过了什么