如何在Pylons中获取类似PHP的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 个回答
2
你可以使用多字典对象的 .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']