【发布时间】:2017-10-07 04:24:56
【问题描述】:
我想定义一个表单类,其字段基于name: label 的字典。我尝试了以下方法,几乎奏效了。但是,在模板中呈现字段会给出AttributeError: 'UnboundField' object has no attribute '__call__'。如何在表单中动态添加字段?
def build_form(name, record):
class ContactForm(FlaskForm):
name = StringField(name)
fieldlist = {}
for key, value in record.items():
fieldlist[key] = StringField(key)
@app.route('/', methods=['GET', 'POST'])
def showform():
form = ContactForm(request.form)
if request.method == 'POST':
return 'form processed'
return render_template('cardcompare.tpl', record=record, form=form)
<form method=post>
{{ form.name() }}
{% for key, value in record.items() %}
{{ form.fieldlist[key]() }}
{% endfor %}
<input type=submit value=Register>
</form>
【问题讨论】:
标签: python flask wtforms flask-wtforms