Получение массива в качестве параметров запроса GET в Python
Я знаю, что в PHP я мог бы просто использовать $_GET['key1']['key2']
чтобы получить данные, которые отправляются в виде массива, но что-то возможно в Python, поскольку я просто получаю строку, и она не распознается как массив/список.
Я использую flask / werkzeug, если это имеет значение.
3 ответов
глубокий анализ имен аргументов уникален для PHP AFAIK.
Если вам нужен простой список, просто передайте несколько параметров с тем же именем и используйте request.args.getlist(<paramname>)
(документация).
в противном случае вы должны сами разобрать строку запроса.
request.args
- это экземпляр MultiDict (MultiDict, api запроса колбы).
request.args[key] ## returns a single value, the first if there are multiple
request.args.getlist(key) ## returns a list
Если вы хотите отправить структуры более сложные, чем могут быть закодированы с помощью простого ключа:vals, рассмотрите возможность отправки объекта, закодированного json.
кроме того, посмотрите на рекурсивную сериализацию jQuery param шаблон и jquery-unparam lib, который может десериализовать его.
request.query_params
вернет весь список пар ключевых значений всех параметров запроса get
Django, DRF