使用
setattr添加新领域的窗体类的属性。这将导致WTForms正确设置字段,而不是保留未绑定的字段。
# form class with static fieldsclass MyForm(FlaskForm): name = StringField('static field')record = {'field1': 'label1', 'field2': 'label2'}# add dynamic fieldsfor key, value in record.items(): setattr(MyForm, key, StringField(value))在模板中,您可以使用
attr过滤器遍历字段。
{% for key, value in record.items() %}: {{ form|attr(key)() }}{% endfor %}


