Django es el entorno de desarrollo web para perfeccionistas con límites de tiempo

Entradas sobre "aplicaciones":

Haystack 1.0 liberado

Hace un par de días se ha liberado la versión 1.0 final de Haystack. Haystack es probablemente la forma más sencilla de añadir un sistema de búsqueda a Django. Ofrece una API que permite utilizar distintos backends de búsqueda como Solr, Whoosh ó Xapian. Además ofrece una interfaz para realizar las búsquedas llamada SearchQuerySet que es muy similar a las QuerySets de Django.

La documentación de Haystack 1.0 está muy bien detallada y el proyecto está disponible en GitHub: django-haystack.

Publicado por Antonio Melé el Wednesday 2 de December de 2009 | 0 comentarios | Categorías: aplicaciones, pluggables

oEmbed y Django: incrusta contenidos de servicios web con django-oembed

oEmbed es un formato que permite usar una representación embebida de una URL en sitios web de terceros. La API de oEmbed permite a un sitio web incrustar contenido (como fotos o vídeos) de otros servicios web simplemente con un enlace al recurso que quiere se publicar. De esta forma se evita tener que utilizar una API distinta para incrustar contenidos de cada servicio web. Varios sitios como Flickr, Viddler, Qik, Hulu o Vimeo permiten acceder a sus contenidos mediante oEmbed. Además el sitio web oohEmbed sirve como wrapper para acceder a contenidos de otros sitios como YouTube, Wikipedia ó Wordpress.com entre otros.

Por ejemplo, la URL http://www.flickr.com/services/oembed?url=http://www.flickr.com/photos/ccgd/107274692/ devuelve el XML:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
    <version>1.0</version>
    <type>photo</type>
    <title>Trees Snow and Shadows</title>
    <author_name>ccgd</author_name>
    <author_url>http://www.flickr.com/photos/ccgd/</author_url>
    <cache_age>3600</cache_age>
    <provider_name>Flickr</provider_name>
    <provider_url>http://www.flickr.com/</provider_url>
    <width>500</width>
    <height>363</height>
    <url>http://farm1.static.flickr.com/44/107274692_c6c32bba58.jpg</url>
</oembed>

Si preferimos recibirlo en formato JSON basta con añadir el parámetro format=json a la misma URL.

Django-oembed es una aplicación que facilita transformar los enlaces a estos servicios que aparecen en el texto introducido por nuestros usuarios en el contenido embebido al que enlazan (vídeos, imágenes, etc.). De esta forma cuando un usuario enlaza a una imagen de Flickr ó un vídeo de Viddler podemos incluirlos directamente.

Para utilizar django-oembed basta con seguir los siguientes pasos:

  1. Descargamos django-oembed e incluimos 'oembed' en el setting INSTALLED_APPS de nuestro settings.py

  2. En la plantilla que queramos utilizar django-oembed para incrustar los contenidos enlazados cargamos los tags de oEmbed:

    {% load oembed_tags %}
    
  3. Utilizamos el tag oembed para reemplazar las URLs con enlaces de sitios que soportan oEmbed por los contenidos a los que éstos apuntan:

    {% oembed %}
       Una foto muy buena: http://www.flickr.com/photos/ccgd/107274692/
    {% endoembed %}
    
  4. Opcional: Algunos recursos soportan definir un ancho y alto concreto para el contenido a incrustar. Basta con definirlo en el tag oEmbed de la siguiente manera:

    {% oembed 320x240 %} ...URL con contenido... {% endoembed %}
    

Publicado por Antonio Melé el Tuesday 21 de July de 2009 | 0 comentarios | Categorías: aplicaciones, plantillas, pluggables, templatetags

Crear una imagen de nuestros modelos con django-command-extensions

Algo interesante que nos aporta django-command-extensions es poder crear una representación gráfica de nuestros modelos (o por decirlo de otro modo nuestro esquema de base de datos) con tan sólo un comando. Esto es posible gracias a GraphViz y el resultado es algo parecido a un diseño UML. Para poder utilizar este comando debemos tener instalado pygraphviz y por supuesto la aplicación django_extensions debe estar incluída en el setting INSTALLED_APPS de nuestro proyecto.

Para instalar pygraphviz en Linux nos bastará con utilizar el comando:

apt-get install python-pygraphviz

Una vez hemos instalado django-command-extensions y pygraphviz podremos crear un archivo dot, formato utilizado por GraphViz ó una imagen. En nuestro caso vamos a crear un archivo PNG que incluya los modelos de todas las aplicaciones de nuestro proyecto. Para ello usamos el comando:

./manage.py graph_models -a -g -o mis_modelos.png

Con el parámetro -o especificamos el archivo de imagen en el que queremos que se almacene el resultado. Si sólo queremos incluir los modelos de algunas aplicaciones podemos hacerlo con el siguiente comando:

./manage.py graph_models app1 app2 app3 -o mis_modelos.png

Este ejemplo es de los modelos de la PyCon-Tech, un framework de gestión de conferencias basado en Django:

Representación gráfica de modelos con django-command-extensions y graphviz

Publicado por Antonio Melé el Sunday 12 de July de 2009 | 0 comentarios | Categorías: aplicaciones, imágenes, modelos, pluggables, trucos, tutorial

EveryBlock libera su código fuente

Hace un par de días se ha liberado el código de EveryBlock bajo licencia GPL. EveryBlock ofrece noticias e información local sobre barrios de distintas ciudades de Estados Unidos. Se trata de uno de los sitios web más interesantes que utilizan Django.

El código fuente se puede encontrar dividido en distintos paquetes en el sitio oficial. El código incluye paquetes que trabajan con información geográfica, el sistema de publicación completo de EveryBlock y hasta un paquete de blog y otro de wiki.

Publicado por Antonio Melé el Thursday 2 de July de 2009 | 0 comentarios | Categorías: aplicaciones, comunidad, descargas