Tengo un sitio web de Django que se ve así:
Las flechas representan hipervínculos que lo llevan a la página siguiente. Todas las páginas excepto la página principal necesitan un botón "Atrás".
Para la página A y la página B, el botón Atrás es bastante simple: siempre lo lleva a la página principal.
Sin embargo, para la página C, hay 2 formas diferentes de llegar a ella (técnicamente 3, si cuenta el botón de retroceso en la página D), por lo que ya no es obvio a dónde debe llevarlo el botón de retroceso.
La forma en que debería funcionar es esta:
Esto se ha preguntado antes , y ninguna de las respuestas/sugerencias tiene sentido para otra cosa que no sea el escenario más básico, donde la página C es el nodo final.
El problema:
session para mantener una sola variable que realiza un seguimiento de si visitó por última vez la página A o la página B no funcionará porque varias pestañas del navegador comparten las mismas variables de sesión. Si el usuario tiene abiertas 2 pestañas de nuestro sitio web, la navegación generará confusión ya que ambas actualizarán la misma variable de sesiónrequest.META.HTTP_REFERER no funcionará, porque el usuario puede navegar a la página D y luego volver a la página C, por lo que la variable HTTP_REFERER apuntará a la página D, en lugar de a la página A o la página B.javascript:history.go(-1) no funcionará: el mismo problema que el anterior con HTTP_REFERER Me he encontrado con este problema en múltiples proyectos, y siempre es un dolor de cabeza. La solución siempre es hacky. ¿Es este un problema que inherentemente no puede ser manejado por Django, y debe ser manejado por algo como sessionStorage de JavaScript?