Pregunta

A veces, en mi código paso parámetros get con URL.Un escenario particular es que si el usuario no ha iniciado sesión, pero ingresa una URL para una página que requiere iniciar sesión, se le pedirá que inicie sesión primero.

En ese caso puedo tener una URL como: www.example.com/home/#/main/.

El final de la URL /#/main/ es para angular.Sin embargo, en Django cuando hago lo siguiente para obtener el next parámetro anterior, hago esto:

self.request.GET.get('next', self.redirect_url)

El problema es que en este caso next proporciona todo menos la porción angular, entonces obtengo: www.example.com/home/.

¿Existe alguna forma de obtener también la parte restante de la URL?

¿Fue útil?

Solución

Debe codificar la URL antes de agregarla como parámetro.Luego se convertirá en %23 y ya no será el separador para el ancla, que se maneja en el lado del cliente solo como se describe en KVISH.

Otros consejos

Aparentemente no puedes.Django ni siquiera ve el ancla, todo se maneja en el cliente (navegador).

¿Cómo identificar un ancla en una URL en Django?

La forma en que solucioné esto es que uso jQuery para establecer un campo de entrada oculto en la ubicación del hash, que se puede obtener así:

window.location.hash

El hash se envía con el formulario y puedo tomarlo desde allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top