РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
120 of 252 menu

Метод getlist

Метод getlist применяется к объекту MultiDict. В отличие от метода get, который возвращает только первое значение, getlist собирает все значения, связанные с одним ключом, и возвращает их в виде списка. Первым параметром передаётся имя ключа. Вторым необязательным параметром можно задать значение по умолчанию, которое вернётся, если ключ отсутствует.

Синтаксис

MultiDict.getlist(key, [default])

Пример

Давайте создадим объект MultiDict и добавим несколько значений для ключа 'user':

from bottle import MultiDict md = MultiDict() md['user'] = 'abcde' md.append('user', 'hello') md.append('user', 'article') res = md.getlist('user') print(res)

Результат выполнения кода:

['abcde', 'hello', 'article']

Пример

Если ключ отсутствует, метод возвращает пустой список. Давайте проверим:

from bottle import MultiDict md = MultiDict() md['user'] = 'abcde' res = md.getlist('unknown') print(res)

Результат выполнения кода:

[]

Пример

Вторым параметром можно передать значение по умолчанию. Давайте укажем его:

from bottle import MultiDict md = MultiDict() md['user'] = 'abcde' res = md.getlist('unknown', ['hello']) print(res)

Результат выполнения кода:

['hello']

Пример

Метод getlist удобно применять для обработки данных формы, где один и тот же ключ может повторяться несколько раз:

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): items = request.forms.getlist('item') return {'items': items}

При отправке формы с несколькими полями item клиент получит все переданные значения:

<+html+> {"items": ["abcde", "hello", "article"]} <-html+>

Смотрите также

  • класс MultiDict,
    который хранит несколько значений для одного ключа
  • метод get,
    который возвращает первое значение по ключу
  • метод append,
    который добавляет значение к ключу
  • метод getall,
    который возвращает все значения по ключу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить