相关疑难解决方法(0)

如何使用FormFields的WTForms FieldList?

我正在使用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))
Run Code Online (Sandbox Code Playgroud)

所以让人们有能力进入一个有两个地点的公司(动态添加地点的时间比较晚)我在前面这样做:

<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>
Run Code Online (Sandbox Code Playgroud)

所以在提交时我打印的位置:

print companyForm.locations.data
Run Code Online (Sandbox Code Playgroud)

但我明白了

[{'location_id': u'', 'city': u''}]
Run Code Online (Sandbox Code Playgroud)

我可以使用locationForm打印第一个位置的值(见下文),但我仍然不知道如何获取第二个位置的数据.

print locationForm.location_id.data
print locationForm.city.data
Run Code Online (Sandbox Code Playgroud)

所以位置列表确实有一个带空值的dict,但是:

  1. 为什么地点列表只有一个,而不是两个?
  2. 为什么位置中的值是空的?

有谁知道我在这里做错了什么?欢迎所有提示!

python forms fieldlist flask wtforms

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

fieldlist ×1

flask ×1

forms ×1

python ×1

wtforms ×1