Is possible to add GET variables in a redirect ? (Without having to modifiy my urls.py)
Je ne connais aucun moyen de le faire sans en modifiant le urls.py
.
I don't have complains using HttpResponseRedirect('/my_long_url/%s/?q=something', x) instead, but just wondering...
Vous voudrez peut-être écrire une enveloppe fine pour rendre cela plus facile. Dites, 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)
Cela peut ensuite être appelé à partir de votre point de vue. Par exemple
return custom_redirect('url-name', x, q = 'something')
# Should redirect to '/my_long_url/x/?q=something'
faute de frappe dans la petite réponse de Manoj Govindan: params = urllib.urlencode (** kwargs) doit être remplacé avec params = urllib.urlencode (kwargs) Sinon, vous obtenez "TypeError: urlencode() a un argument de mot-clé inattendu" – Max