2011-10-29 16 views
34

Lo sé en php Podría simplemente usar $_GET['key1']['key2'] para recuperar datos GET que se envían en forma de matriz, pero es posible algo en Python, ya que acabo de recibir una cadena y no es reconocido como una matriz/lista.Obteniendo la matriz como parámetros de consulta GET en Python

Uso el matraz/werkzeug si eso es importante.

+2

Aprender a leer la pregunta y lo que las personas realmente quieren antes de votar para cerrar una pregunta. Sé cómo obtener los parámetros de solicitud, eso no es lo que pregunté. Tu url no aporta nada nuevo. –

+2

No voté para cerrar nada. Después de todo, tengo menos de 100 representantes, así que no puedo hacer eso. Te di un enlace que podría ser útil. – Confluence

Respuesta

31

El análisis profundo de los nombres de los argumentos es único para PHP AFAIK.

Si solo necesita una lista simple, simplemente pase varios parámetros con el mismo nombre y use request.args.getlist(<paramname>) (documentation).

De lo contrario, tiene que analizar la cadena de consulta usted mismo.

+0

Tenía miedo de eso. Desafortunadamente estoy analizando un IPN desde una pasarela de pago que envía matrices, así que tengo que analizarlas como cadenas, creo. –

+0

¿Cómo se codifican las IPN? Puede publicar un ejemplo? –

+0

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

43

request.args es una instancia de 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 desea presentar estructuras más complejas que pueden ser codificados utilizando simples clave: Vals, considerar el envío de un objeto JSON codificado.

Además, consulte la serialización de param recursiva de jQuery pattern, y la lib jquery-unparam que puede deserializarla.

-1
request.query_params 

devolverá todos la lista de valores clave par de todos consiguen parámetros de la petición

Django, DRF

Cuestiones relacionadas