¿Cuáles son las opciones cuando desea devolver al usuario a la misma página en Django y cuáles son las ventajas y desventajas de cada uno?
Métodos que conozco:
- HTTP_REFERER
- Parámetro GET que contiene la URL anterior
- Datos de sesión para almacenar la URL anterior.
¿Hay alguna otra?
Respuestas
88 para la respuesta № 1Una de las formas es usar HTTP_REFERER
encabezado como el siguiente:
from django.http import HttpResponseRedirect
def someview(request):
...
return HttpResponseRedirect(request.META.get("HTTP_REFERER"))
No estoy seguro de los contras de esto!
5 para la respuesta № 2
Si bien la pregunta y la respuesta son antiguas, creo que faltan algunas opciones. No he encontrado ningún inconveniente con los métodos, me encantaría saber si existen.
- request.path_info
- request.get_full_path ()
-
from django.shortcuts import redirect redirect(request.path_info) # No query parameters redirect(request.build_absolute_uri()) # Keeps query parameters redirect(request.get_full_path()) # Keeps query parameters