我在我的模板中使用了这样的东西
<select multiple="multiple" name="services" id="services" size="5">
{% for service in services %}
<option value="{{service.id}}">{{service}}</option>
{% endfor %}
</select>
当我在Firebug或Django调试中查看POST数据时,我发现它只发送一个值。我做错了什么或误解了一个概念?
答案 0 :(得分:133)
request.POST.getlist('services')
答案 1 :(得分:9)
仅供参考,我不得不使用:
list = request.POST.getlist("items[]")
因为省略[]导致返回空白列表而不是正确的值。我正在使用jQuery来获取多个select元素的值,而jQuery似乎正在添加[]
答案 2 :(得分:1)
小心!如果密钥不存在,QueryDict的getlist方法返回一个空列表。它没有抛出异常。 http://bit.ly/MdgrUH
答案 3 :(得分:0)
您只需使用...
即可获得预期的列表request.POST.getlist('fiel_name')
答案 4 :(得分:0)
request.POST.getlist( '服务')
为我工作。或者您可以将选择框名称定义为列表