我正在使用Flask构建一个网站,其中我使用WTForms。在表单中,我现在想使用 FormFields 的 FieldList,如下所示:
class LocationForm(Form):
location_id = StringField('location_id')
city = StringField('city')
class CompanyForm(Form):
company_name = StringField('company_name')
locations = FieldList(FormField(LocationForm))
所以为了让人们能够进入一家有两个地点的公司(稍后会动态添加地点),我在前端这样做:
<form action="" method="post" role="form">
{{ companyForm.hidden_tag() }}
{{ companyForm.company_name() }}
{{ locationForm.location_id() }}
{{ locationForm.city() }}
{{ locationForm.location_id() }}
{{ locationForm.city() }}
<input type="submit" value="Submit!" />
</form>
所以在提交时我打印位置:
print companyForm.locations.data
但我明白了
[{'location_id': u'', 'city': u''}]
我可以使用 locationForm 打印第一个位置的值(见下文),但我仍然不知道如何获取第二个位置的数据。
print locationForm.location_id.data
print locationForm.city.data
所以位置列表确实有一个空值的字典,但是:
- 为什么位置列表只有一个,而不是两个字典?
- 为什么位置字典中的值是空的?
有人知道我在这里做错了什么吗?欢迎所有提示!