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

Метод getlist

Метод getlist применяется к объекту QueryDict и возвращает список всех значений, связанных с указанным ключом. Если ключ отсутствует, метод возвращает пустой список. Особенность метода в том, что он всегда возвращает список, даже если передан единственный параметр. Это полезно при работе с параметрами запроса, которые могут содержать несколько значений (например, выбранные категории или множественные идентификаторы).

Синтаксис

query_dict.getlist(key, default=None)

Параметры метода:

  • key - строковый ключ, по которому нужно получить значения;
  • default - значение, возвращаемое в случае отсутствия ключа в QueryDict.

Пример . Получение списка значений из GET параметров

Допустим, у нас есть URL с несколькими одинаковыми параметрами категорий:

# URL: /articles/?category=sport&category=science&category=tech from django.http import QueryDict query_string = "category=sport&category=science&category=tech" res = QueryDict(query_string) categories = res.getlist("category") print(categories)

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

['sport', 'science', 'tech']

Метод вернул список всех значений, переданных в параметре category. Если бы мы использовали метод get, то получили бы только первое значение.

Пример . Использование параметра default

Если ключ отсутствует в QueryDict, метод getlist по умолчанию возвращает пустой список. Параметр default позволяет задать другое значение:

from django.http import QueryDict query_string = "page=2&limit=10" res = QueryDict(query_string) # Ключ 'tag' отсутствует tags = res.getlist("tag") print(tags) # С указанием значения по умолчанию tags_with_default = res.getlist("tag", default=[]) print(tags_with_default) # С другим значением по умолчанию tags_custom = res.getlist("tag", default=["default"]) print(tags_custom)

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

[] [] ['default']

Пример . Работа с POST данными формы

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

from django.http import QueryDict # POST данные формы с множественным выбором post_data = "interests=sport&interests=music&interests=reading&csrfmiddlewaretoken=abc123" res = QueryDict(post_data) interests = res.getlist("interests") print(interests)

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

['sport', 'music', 'reading']

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

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