如何在Flask中使用WTForms获取值列表?

时间:2014-10-29 17:21:30

标签: python flask wtforms flask-wtforms werkzeug

在我使用Flask构建的网站中,我使用WTForms来验证提交的表单。在一种形式中,我使用这样的形式提交值列表(隐藏字段使用js生成客户端):

<form action="" method="post" id="prop-form">
    <input type="hidden" name="ids[]" value="54511ea9c1a36b4e910ce52a">
    <input type="hidden" name="ids[]" value="54511ea9c1a36b4e910ce52d">
    <input id="title" name="title" size="30" type="text" value="">
    <input type="submit" value="Save this form">
</form>

在Flask方面,我可以使用以下代码轻松获取ids[]的内容:

print request.form
print request.form.getlist('ids[]')

打印出来:

ImmutableMultiDict([('ids[]', u'54511ea9c1a36b4e910ce52a'), ('ids[]', u'54511ea9c1a36b4e910ce52d'), ('title', u'Blablabla')])
[u'54511ea9c1a36b4e910ce52a', u'54511ea9c1a36b4e910ce52d']

但是当我在我的wtform中创建SelectMultipleField时,如下所示:

ids = SelectMultipleField('ids[]')

然后尝试获取这些值,我得到一个空列表:

print form.ids.data  # prints out []

知道如何使用WTForms模仿request.form.getlist('ids[]')的行为吗?欢迎所有提示!

0 个答案:

没有答案