Enviar Url con caracteres especiales DJANGO

Buenos dias, soy nueva en Django y tengo algunas dudas para pasar una URL con dos variables, pero una de esas variables tiene caracteres especiales. Esta es mi url de ejemplo:

10.10.0.15:8000/connect/987/asdas+qwyegiy/

Esta variable es la que me marca el error “asdas+qwyegiy”. Cuando la paso sin el signo de + funciona correctamente. Alguien sabe como solucionar eso? niña llorando :’(

Hola Monica:

Por lo que veo lo que quieres es pasar un texto compuesto con dos variables en la URl separados por +?

Normalmente más que ponerlo como parte de la URL, lo añadiria como un query String que es más legible. Es decir, algo así:

10.10.0.15:8000/connect/987?buscar=asdas+qwyegiy

Con eso ya podrias hacer las consultas obteniendo el texto con el parametro buscar y después separandolo por el carácter +.

variables = buscar.split('+')

Espero que con esto tu duda quede resuelta.

Un saludo.

1 me gusta

Gracias, pero no, lo que quiero es mandar una variable encriptada, el + fue un ejemplo, cuando encripto la variable salen caracteres especiales, por ejemplo, tengo la variable monica@mail.com, al momento de encriptarla, el resultado es ejemplo: " oiqjwe=231!uiqwun/oiwuaeoi" en esta variable tengo = ! / como caracteres y esos no puedo enviarlos en mi url porque me marca error, espero haberme explicado y gracias por responder

Si lo que intentas es pasar una variable encriptada, por GET no parece ser precisamente la mejor opción. Pásala directamente por un POST y así te olvidas de tener que introducirla en la URL, y de los problemas que pueda ocasionar el navegador con esto por los caracteres especiales.

1 me gusta

Bueno no estan facil como parece. Explico un poco mas a detalle. Estoy haciendo una aplicacion con Xamarin, desde la cual mando llamar desde un control webview el enlace al servidor django

Este es mi codigo en XAMARIN

webView.Source = “10.10.0.15:8000/connect/”+ pass + “/” + username + “/”;

la variable username ya va encriptada con caracteres especiales tipo “ioqnwd=huqwhue/uqwieb!aa”, ahi es donde django me muestra el error

The current path, connect/987/**ioqnwd=huqwhue/uqwieb!aa**/ , didn’t match any of these. Este error lo muestra por esos caracteres especiales que lleva la variable.

:frowning: no se si sea la mejor manera, acepto propuestas para enviar esas variables encriptadas, ocultas, etc. de manera que lleguen a django y en django pueda trabajar con ellas

quizas por whatsapp se mas facil recibir orientacion, si alguien me puede apoyar para pasarle mi numero :slight_smile:

Obviamente necesitas pasar esa información a través de una URL, tienes que codificar esa información como URL:

import urllib.parse
query = 'Hellö Wörld@Python'
urllib.parse.quote(query)
1 me gusta

Este tema se cerró automáticamente 10 días después de la última publicación. No se permiten nuevas respuestas.