Estoy tratando de crear un redireccionamiento en una vista de Django a una url externa con algunos parámetros de obtención asociados a la solicitud. Después de mirar y probar, parece que he chocado contra un obstáculo.External django redirigir con los parámetros POST
Así que mi vista se ve algo como esto
def view(request):
data = get.data(request)
if something in data:
return HttpResponseRedirect('example.com')
Esto es por lo que yo era capaz de conseguir. Sé que en la solicitud de URL puede especificar algunos parámetros pongo así:
...
return HttpResponseRedirect('example.com?name=smith&color=brown')
Sin embargo, ya que algunos de los datos son sensibles, no quiero que termine en la url. Dado que es una URL externa, no puedo usar el acceso directo redirect() que acepta parámetros de vistas. Entonces, ora, ¿cómo se puede lograr tal tarea?
Editar
después de haber hecho un poco más mirando a su alrededor, y han charlado un poco en el IRC, parece que lo que debería hacer, para mantener el parámetro de alejarse de los usuarios, que contiene la información de pago, es enviarlos como publicación en su lugar. Me dijeron que deberías poder hacerlo usando algunos JS también, posiblemente jQuery. La pregunta sigue siendo, aunque un poco más complicada ahora. ¿Cómo se puede crear una redirección de publicaciones en django con la ayuda de javascript?
segunda edición
parece que se me ha informado mal. Gracias por aclarar eso con los protocolos de redirección DR. Parece que he estado yendo por el camino equivocado en mi intento de usar la redirección para resolver este problema.
Esa es una forma inteligente de evitar la redirección. Sin embargo, esto es dependiente de JavaScript, por lo que necesitaría hacer una degradación elegante también. Me pregunto qué tan fácil será esto en la práctica, teniendo que cargar la página antes de poder hacer la publicación js. – googletorp
Sí, esta solución depende de que JavaScript esté habilitado en el navegador, pero eso no significa que deba hacerlo en esta página. Debería comprobar si hay JavaScript antes de llegar a su punto de vista. De modo que si no está habilitado, el usuario ni siquiera llegaría tan lejos. En cuanto a la carga de la página, dependerá de qué tan rápido regrese su vista, y qué tan grande es el resultado HTML. Si solo tiene un par de campos, el renderizado de la página supongo que sería en menos de un segundo. La redirección también es rápida, por lo que la experiencia del usuario con esta solución es muy similar a la de un redireccionamiento normal. –
Pero, ¿cuáles son las implicaciones de seguridad de tal solución? Quiero enviar los parámetros a una pasarela de pago. ¿Está seguro el envío de datos confidenciales como mi auth_id, etc. al usuario? ¿No hay otra manera? – sudshekhar