2011-04-08 18 views
5

Según el tema, recibo una solicitud POST. Quiero convertirlo a la solicitud GET equivalente y pasarlo a una plantilla (para que pueda usarlo como href target en los encabezados de las columnas haciendo clic para ordenar).Django: Convertir los parámetros de una solicitud POST en la cadena de consulta

¿Hay alguna forma previamente horneada para hacerlo, o tengo que hacer la mía?

Saludos, alf

ACTUALIZACIÓN

Esto es lo que el tiempo utilizado. Necesitaba request.REQUEST, entonces request.POST.urlencode no estaba cortándolo, y request.REQUEST no tiene urlencode.

import urllib 
def buildqs(request): 
    "Builds a GET-style query string form http-request" 
    #also request.POST.urlencode is possible - 
    #Sadly, request.REQUEST does not have urlencode 
    return urllib.urlencode(request.REQUEST)+"&" 

Respuesta

6

Utilice la biblioteca estándar, urllib.urlencode. p.ej.

>>> import urllib 
>>> urllib.urlencode({'a': 1, 'b': 2}) 
'a=1&b=2' 
+0

@Alien forma de vida: Por favor, eliminar el mensaje ahora inútil. Además, no pierda el tiempo en los comentarios de "actualización de estado". No transmiten información. –

8

Uso

request.POST.urlencode()
+0

Esto también funciona, aunque, curiosamente, no está bajo pedido.REQUEST –

+1

Respuesta mejor que aceptada porque es más sucinta y no requiere importación. –

1

De the docs

request.META['QUERY_STRING'] 
Cuestiones relacionadas