2011-10-29 2 views
34

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

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

+2

Научитесь читать вопрос и то, что люди на самом деле хотят, прежде чем голосовать, чтобы закрыть вопрос. Я знаю, как получить параметры запроса, это не то, о чем я просил. Ваш URL не приносит ничего нового. –

+2

Я не голосовал, чтобы что-то закрыть. В конце концов, у меня меньше 100 человек, поэтому я не могу этого сделать. Я дал вам ссылку, которая может быть полезна. – Confluence

ответ

31

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

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

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

+0

Я боялся этого. К сожалению, я разбираю IPN с платежного шлюза, который отправляет массивы, поэтому я должен разбирать их как строки, которые я считаю. –

+0

Как кодируются IPN? Можете ли вы опубликовать пример? –

+0

IPN_REFNO [23456,23465] & IPN_TOTALAMOUNT [2133,3455] –

43

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 закодирован объект.

Кроме того, посмотрите на сериализацию qQuery рекурсивного параметра pattern и библиотеку jquery-unparam, которая может десериализировать ее.

-1
request.query_params 

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

Джанго, DRF

Смежные вопросы