web-dev-qa-db-fra.com

Obtenir le tableau en tant que paramètres de requête GET dans Python

Je sais qu'en php je pourrais simplement utiliser $_GET['key1']['key2'] pour récupérer les données GET envoyées sous la forme d'un tableau mais est-ce possible dans Python car je viens de recevoir une chaîne et elle n'est pas reconnue comme un tableau/liste.

J'utilise flask/werkzeug si cela compte.

43
Romeo M.

L'analyse approfondie des noms d'arguments est unique pour PHP AFAIK.

Si vous avez besoin d'une simple liste, passez simplement plusieurs paramètres avec le même nom et utilisez request.args.getlist(<paramname>) ( documentation ).

Sinon, vous devez analyser la chaîne de requête vous-même.

47
cschorn

request.args est une instance 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

Si vous souhaitez soumettre des structures plus complexes que ce qui peut être encodé à l'aide d'une clé simple: vals, envisagez d'envoyer un objet codé json.

Regardez aussi la sérialisation param récursive jQuery pattern , et la bibliothèque jquery-unparam qui peut la désérialiser.

54
Rob Cowie