Is possible to add GET variables in a redirect ? (Without having to modifiy my urls.py)
No sé de ninguna manera para hacer esto sin modificando el urls.py
.
I don't have complains using HttpResponseRedirect('/my_long_url/%s/?q=something', x) instead, but just wondering...
Es posible que desee escribir un envoltorio delgado para que sea más fácil. Decir, custom_redirect
def custom_redirect(url_name, *args, **kwargs):
from django.core.urlresolvers import reverse
import urllib
url = reverse(url_name, args = args)
params = urllib.urlencode(kwargs)
return HttpResponseRedirect(url + "?%s" % params)
Esto entonces se puede llamar desde su punto de vista. Por ej.
return custom_redirect('url-name', x, q = 'something')
# Should redirect to '/my_long_url/x/?q=something'
pequeño error en la respuesta de Manoj Govindan: params = urllib.urlencode (** kwargs) necesita ser reemplazado con params = urllib.urlencode (kwargs) De lo contrario, obtendrá "TypeError: urlencode() obtuvo un argumento de palabra clave inesperado" – Max