Django: с помощью <выберите несколько> и POST - PullRequest
57 голосов
/ 06 марта 2009

Я использую что-то подобное в моем шаблоне

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

Когда я просматриваю данные POST в Firebug или отладке Django, я вижу, что они отправляют только одно значение. Я делаю что-то неправильно или неправильно понимаю концепцию?

Ответы [ 5 ]

133 голосов
/ 06 марта 2009
request.POST.getlist('services')
9 голосов
/ 05 июля 2011

Просто к вашему сведению, мне пришлось использовать:

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

потому что пропуск [] приводил к тому, что вместо правильных значений возвращался пустой список. Я использую jQuery для извлечения значений элемента множественного выбора, и jQuery, кажется, добавляет []

1 голос
/ 06 декабря 2012

Берегись! Метод getlist из QueryDict возвращает пустой список, если ключ не существует. Это не исключение. http://bit.ly/MdgrUH

0 голосов
/ 24 августа 2017

request.POST.getlist ( 'услуги')

работал для меня. или вы можете определить имя ящика в виде списка

0 голосов
/ 28 июля 2017

Вы можете получить ожидаемый список, просто используя ...

request.POST.getlist('fiel_name')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...