A Django site.
Mayo 29, 2010
» Expand Short URL

40587Ahora están de moda las URL cortas y hasta Google tiene un servicio para acortar las URL y poder escribir con pocas letras un enlace largo. Pero, a dónde llevan esas URL cortas?  Cómo podemos saber, antes de dar click, a donde llegaremos? Qué pasa si el destino es una página no deseada? O es una página que esconde phisning?

Una solución que encontré es Expand Short URL, un complemento para Firefox el cuál, una vez instalado, permite hacer click derecho sobre un enlace y concer la URL correcta que está detras de la URL accortada. También es posible copiar la URL de destino para pegarla en una nueva solapa, antes de dar enter para navegar por ella.

Me resultó otra extensión muy interesante para contrarrestar, aunque sea en algo, a los efectos de los inescrupulosos que esconden sus URL perjudiciales detrás de URL cortas.

Abril 19, 2010
» goo.gl

url_shortener_logo

goo.gl es un acortador de URL de Los Google. Nada muy espectacular, salvo que si te sentís medio marquero, fanático de la OO, o lo que sea, pues alli lo tienes.

Por qué entonces poner un artículo sobre uno más de lo que hacen un montón?, pues es que encontré un plugin para Firefox de goo.gl que me gustó mucho. Se instala y es un botoncito en la barra (lo colocas donde tu quieras) que cuando estas viendo una página lo presionas, y te copia al clipboard la dirección goo.gl correspondiente.

Rapido, sencillo y barato, direcciones cortas para todas las URL que quieras compartir o incluso mostrar.

Mayo 4, 2009
» URLs elegantes con Django

Este texto es parte del informe de nuestro proyecto final de carrera, lo publico en forma separada aquí por que tiene valor propio y puede convencer a más de un programador PHP de probar Django. Las URLs elegantes son la forma natural de las URL en Django.

Manejo de URLs

Tener URLs elegantes y limpias es un requisito común para aplicaciones web modernas. Django provee un mecanismo de manejo de URLs basado en expresiones regulares que asocia una expresión regular a una vista.

Para diseñar las URLs de una aplicación Django, se construye una especie de tabla que mapea patrones de URL a funciones Python a ejecutar (vistas). Con esto se logra que las URLs estén desacopladas del resto de la aplicación.

El siguiente es un ejemplo de una entrada de esa tabla:

(r'^index/$', index)

Suponiendo que la aplicación web está corriendo en el servidor con nombre localhost, cuando alguien acceda a http://localhost/index/ se ejecutará la vista ‘index’.

El siguiente es un ejemplo un poco más complejo:

(r'^cliente/datos/(\d+)/$', cliente_datos)

En el patrón de la URL se utilizan paréntesis para capturar una parte de la misma y poder accederla luego como parámetros en la vista. La expresión encerrada entre paréntesis se denomina grupo y son propias de las expresiones regulares en Python. Así, siempre que se acceda a, por ejemplo, http://localhost/cliente/datos/1/ o http://localhost/cliente/datos/100/ se ejecutará la vista cliente_datos y recibirá como parámetro el número correspondiente.

Algo similar sucede en el siguiente ejemplo:

(r'^inmueble/fotos/(\d+)/eliminar/(\d+)/$', eliminar_foto)

Con la diferencia de que ahora la vista recibe dos parámetros, en este caso particular el primero corresponde a un identificador de inmueble y el segundo a un identificador de foto.

Las expresiones regulares en Python soportan también lo que se denomina grupos nombrados. Esto permite obtener un grupo por su nombre. Si escribimos una especificación de URL como la siguiente:

(r'^inmueble/fotos/(?P<inmueble>\d+)/eliminar/(?P<foto>\d+)/$', eliminar_foto)

la vista será llamada utilizando parámetros nombrados. Esto tiene la ventaja de que si cambia el orden de los parámetros en la URL, la vista seguirá funcionando sin que se necesite redefinirla.