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:
Descargamos django-oembed e incluimos 'oembed' en el setting INSTALLED_APPS de nuestro settings.py
En la plantilla que queramos utilizar django-oembed para incrustar los contenidos enlazados cargamos los tags de oEmbed:
{% load oembed_tags %}
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 %}
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 Martes 21 de Julio de 2009
Compártelo:
| Categorías:
aplicaciones,
plantillas,
pluggables,
templatetags
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 ...
Django-chronograph es una aplicación que permite programar la ejecución de tareas automáticas de manage.py utilizando cron. Permite especificar las tareas a realizar y ...
django-localeurl es una aplicación que permite el uso de códigos de idiomas en las URLs de nuestro proyecto. Esto trae la ventaja de que ...
Desde Yaco nos traen las aplicaciones pluggables django-inlinetrans y django-inplaceedit que permiten editar traducciones de templates y objetos de nuestros modelos desde el frontend ...
Suscríbete a nuestro feed RSS y al feed de la comunidad para estar al tanto de todo lo que ocurre entorno a Django.
Tú también puedes escribir en éste blog. Para hacerlo basta con que nos digas sobre qué quieres escribir un artículo relacionado con Django.
Utilizar un formulario para modificar 2 modelos
Descubriendo objetos similares por sus etiquetas