Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting the array as GET query parameters in Python

I know in php I could just use $_GET['key1']['key2'] to retrieve GET data that is sent in the form of an array but is that something possible in Python as I just receive a string and it's not recognized as an array/list.

I use flask/werkzeug if that matters.

like image 930
Romeo M. Avatar asked Oct 29 '11 16:10

Romeo M.


2 Answers

The deep parsing of argument names is unique for PHP AFAIK.

If you need just a simple list, just pass several parameters with the same name and use request.args.getlist(<paramname>) (documentation).

Otherwise you have to parse the query string yourself.

like image 125
cschorn Avatar answered Nov 18 '22 08:11

cschorn


request.args is a MultiDict instance (MultiDict, Flask request api).

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

If you want to submit structures more complex than can be encoded using simple key:vals, consider sending a json encoded object.

Also, look at the jQuery recursive param serialisation pattern, and the jquery-unparam lib which can deserialise it.

like image 67
Rob Cowie Avatar answered Nov 18 '22 09:11

Rob Cowie