Mi trovo ad affrontare un problema per il quale non riesco a trovare una soluzione. Ho un pulsante in navbar che è disponibile su tutte le pagine ed è un pulsante responsabile della creazione di alcuni contenuti.Come reindirizzare alla pagina precedente in Django dopo la richiesta POST
View che collega con il tasto:
def createadv(request):
uw = getuw(request.user.username)
if request.method =='POST':
form = AdverForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user = request.user
form.save()
return HttpResponseRedirect('/', {'username': request.user.username, 'uw': uw})
args = {}
args.update(csrf(request))
args['username'] = request.user.username
args['form'] = AdverForm()
args['uw'] = uw
return render_to_response('createadv.html', args)
Se si può vedere ora ho sempre reindirizzare alla pagina principale '/' dopo la creazione di contenuti, ma io voglio tornare alla pagina con la quale ho lanciato la creazione di soddisfare.
aggiungo richiesta .META.get ('HTTP_REFERER', '/') in HttpResponseRedirect, ma sfortunatamente non ha aiutato. In questo caso, dopo invio rimango sulla pagina "createadv". – Oleg
Si potrebbe avere un reindirizzamento extra in mezzo. Assicurati di avere la barra finale nel tag 'form action =" ... "', ad esempio 'action ="/createadv/"'. – Selcuk
Quando esegui il POST di un modulo, il tuo 'HTTP_REFERER' sarà la pagina da cui hai inviato il modulo, che in realtà è la stessa pagina in questo caso. –