Django:使用<select multiple =“”>和POST </select>

时间:2009-03-06 11:39:14

标签: python django http

我在我的模板中使用了这样的东西

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

当我在Firebug或Django调试中查看POST数据时,我发现它只发送一个值。我做错了什么或误解了一个概念?

5 个答案:

答案 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( '服务')

为我工作。或者您可以将选择框名称定义为列表