Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带预填充数据的WTF表单_Python_Wtforms - Fatal编程技术网

Python 带预填充数据的WTF表单

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

我在一个项目中使用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, 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',…]。 我错过了什么