Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

679
Vistas
¿Hay alguna manera de crear un botón Atrás en Django que comprenda una estructura de árbol?

Tengo un sitio web de Django que se ve así:

ingrese la descripción de la imagen aquí

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:

  • Si el usuario vino de la página A para llegar a la página C, el botón Atrás debería llevarlo de vuelta a la página A.
  • Si el uso provino de la página B para llegar a la página C, el botón Atrás debería llevarlos de regreso a la página B
  • Si el usuario no vino de la página A o de la página B para llegar a la página C (podría haber ingresado la URL de la página C en su navegador), de forma predeterminada, el botón Atrás lo lleva a la página A.

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:

  • El uso de una URL codificada para el botón Atrás de la página C no funcionará porque hay 2 formas de acceder a ella
  • El uso de la 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ón
  • El uso de request.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.
  • El uso de 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?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda