request.POST pylons,在php中获取数组

时间:2010-07-29 19:06:30

标签: php python pylons

我有一个动态表单,我必须将一些post数组添加到某个id的字段中。

例如:

<input type="checkbox" name="field[124][]" value="1">
<input type="checkbox" name="field[124][]" value="2">

在php中,我可以简单地获得价值和关键。

foreach($_POST as $key => $value){
if(is_array($value){
  foreach($value as $key2 => $value2){
  //i get key=>124 and all values for this key
   }
}
}

<input type="checkbox" name="field" value="1">
<input type="checkbox" name="field" value="2">

在pylons中,我可以使用复选框数组

request.POST[field].getall()

如何在pylons中创建像PHP一样的数组?

感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用multidict对象的.getall(),例如:

HTML:

<input type="checkbox" name="field[124][]" value="1">
<input type="checkbox" name="field[124][]" value="2">

控制器:

values = request.POST.getall('field[124][]')
# >>> values
# [u'1', u'2']

获取此列表的另一种方法是使用.dict_of_lists(),例如:

控制器:

d = request.POST.dict_of_lists()
values = d['field[124][]']
# >>> d
# {'field[124][]':[u'1', u'2']}
# >>> values
# [u'1', u'2']