2010-07-29 8 views
2

J'ai une forme dynamique, je dois bulid un tableau de poste à champ avec un certain ID.request.POST pylons, obtenant tableau comme dans php

Par exemple:

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

En php je peux simplement obtenir la valeur et la clé.

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"> 

Dans Pylônes pour tableau de case à cocher je peux utiliser

request.POST[field].getall() 

Comment puis-je créer dans Pylônes publier tableau comme en PHP?

Merci.

Répondre

2

Vous pouvez utiliser .getall() de l'objet multidict, par exemple:

html:

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

contrôleur:

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

une autre façon d'obtenir cette liste est en utilisant .dict_of_lists(), exemple:

contrôleur:

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