Подтвердить что ты не робот

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

Я знаю, что в php я мог просто использовать $_GET['key1']['key2'] для извлечения данных GET, которые отправляются в форме массива, но это что-то возможно в Python, поскольку я просто получаю строку и не распознается как массив/список.

Я использую flask/werkzeug, если это имеет значение.

4b9b3361

Ответ 1

Глубокий анализ имен аргументов уникален для PHP AFAIK.

Если вам нужен простой список, просто передайте несколько параметров с тем же именем и используйте request.args.getlist(<paramname>) (документация).

В противном случае вам нужно самостоятельно проанализировать строку запроса.

Ответ 2

request.args - это экземпляр MultiDict (MultiDict, Flask request api).

request.args[key] ## returns a single value, the first if there are multiple
request.args.getlist(key) ## returns a list

Если вы хотите представить структуры более сложные, чем их можно закодировать с помощью простого ключа: vals, подумайте о отправке json-кодированного объекта.

Кроме того, посмотрите на сериализацию рекурсивных параметров jQuery pattern, а jquery-unparam lib, который может десериализовать его.

Ответ 3

request.query_params

Вернет весь список пар ключей значений всех параметров запроса на запрос

Django, DRF