你会发布这样的东西(当然是 URL 编码的)
users-0.name=John
users-0.age=21
users-1.name=Mike
users-1.age=30
...
对用户 0-N 执行此操作,其中 N 是与您拥有的用户一样多的用户,零索引。然后,在 Python 端运行此命令后variabledecode
,您将拥有:
users = UserSchema.to_python(request.POST)
print users
# prints this:
{'Users': [{'name': 'John', 'age': '21'}, {'name': 'Mike', 'age': '30'}]}
这些值可能会有所不同,具体取决于您在架构中进行的验证。所以要得到你正在寻找的东西,你会这样做:
for user in users.iteritems():
print "{name} {age}".format(**user)
更新
要在字典中嵌入列表,您可以这样做:
users-0.name=John
users-0.age=21
users-0.hobbies-0=snorkeling
users-0.hobbies-1=billiards
users-1.name=Mike
...
等等等等。该模式基本上是重复的:{name-N}
将第 N 个索引嵌入到列表中,从 0 开始。确保它从 0 开始并且值是连续的。A.
开始属性的开头,它可以是标量、列表或字典。
这是有关如何使用 formencode 的Pylons 特定文档,请查看表 6-3 示例。