78 votes

Django: utilisation <select multiple> et POST

J'utilise quelque chose comme ça dans mon modèle

 <select multiple="multiple"  name="services" id="services" size="5">
    {% for service in services %}
    	<option value="{{service.id}}">{{service}}</option>
    {% endfor %}
</select>
 

Lorsque je consulte les données POST dans Firebug ou le débogage Django, je vois qu'il n'envoie qu'une seule valeur. Suis-je en train de faire quelque chose de mal ou de mal comprendre un concept?

187voto

Ignacio Vazquez-Abrams Points 312628
request.POST.getlist('services')

17voto

TehNthDegree Points 68

Juste pour info, je devais utiliser:

list = request.POST.getlist ('items []')

car l'omission de [] a provoqué le retour d'une liste vide au lieu des valeurs correctes. J'utilise jQuery pour récupérer les valeurs d'un élément de sélection multiple, et jQuery semble ajouter le []

1voto

adam.cajf Points 181

Fais attention! La méthode getlist de QueryDict renvoie une liste vide si la clé n'existe pas. Il ne lève pas d'exception. http://bit.ly/MdgrUH

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X