Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

670
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda