Is possible to add GET variables in a redirect ? (Without having to modifiy my urls.py)
Non conosco alcun modo per farlo senza modificando lo urls.py
.
I don't have complains using HttpResponseRedirect('/my_long_url/%s/?q=something', x) instead, but just wondering...
È possibile scrivere un involucro sottile per semplificare l'operazione. Dire, 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)
Questo può quindi essere chiamato dal vostro punto di vista. Ad es.
return custom_redirect('url-name', x, q = 'something')
# Should redirect to '/my_long_url/x/?q=something'
fonte
2010-09-22 05:04:19
Piccolo errore di battitura nella risposta da Manoj Govindan: params = urllib.urlencode (** kwargs) deve essere sostituita con params = urllib.urlencode (kwargs) Altrimenti ottieni "TypeError: urlencode() ha un argomento di parole chiave inaspettato" – Max