Python 带有多个复选框的挂架/表单编码

Python 带有多个复选框的挂架/表单编码,python,validation,pylons,formencode,Python,Validation,Pylons,Formencode,今天在验证多个复选框时,我遇到了一些关于Pylons/Formencode的问题。作为背景,我在Mako模板中有如下内容: <input type="checkbox" name="Project" value="1">Project 1</input> <input type="checkbox" name="Project" value="2">Project 2</input> <input type="checkbox" name="

今天在验证多个复选框时,我遇到了一些关于Pylons/Formencode的问题。作为背景,我在Mako模板中有如下内容:

<input type="checkbox" name="Project" value="1">Project 1</input>
<input type="checkbox" name="Project" value="2">Project 2</input>
<input type="checkbox" name="Project" value="3">Project 3</input>
<input type="checkbox" name="Project" value="4">Project 4</input>
<input type="checkbox" name="Project" value="5">Project 5</input>
我本来希望能得到一个列表,上面有选中的项目(听起来很合理,对吧?),但是我得到了一个列表,上面只有一个项目,尽管选中了所有的框。我做错了吗?或者我想得到的是可能的吗?我写了一篇关于这个问题的文章,每个复选框项目都有onclick,它将选中的项目附加到一个数组中,然后以JSON格式发回-这很难看,也很痛苦,因为如果验证失败,我必须自己重新填充所有字段

有人有什么想法吗?

可以使用:

雷德洛克特

你看过要解码的docstring了吗?它建议您使用以下内容:

<input type="checkbox" name="Project-1" value="1">Project 1</input>
<input type="checkbox" name="Project-2" value="2">Project 2</input>
<input type="checkbox" name="Project-3" value="3">Project 3</input>
项目1
项目2
项目3
查看variabledecode.py中的文本或粘贴。

Hmmmm,似乎“Set()”可以实现这一点。谢谢你的演奏!
>>> Set.to_python(None)
[]
>>> Set.to_python('this')
['this']
>>> Set.to_python(('this', 'that'))
['this', 'that']
>>> s = Set(use_set=True)
>>> s.to_python(None)
set([])
>>> s.to_python('this')
set(['this'])
>>> s.to_python(('this',))
set(['this'])
<input type="checkbox" name="Project-1" value="1">Project 1</input>
<input type="checkbox" name="Project-2" value="2">Project 2</input>
<input type="checkbox" name="Project-3" value="3">Project 3</input>