在我使用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[]')
的行为吗?欢迎所有提示!