Prezentacja treści za pomocą oEmbed w Django
oEmbed to format prezentacji adresów URL różnych serwisów (społecznościowych, multimedialnych jak YouTube, Flickr). Na własnej stronie w treści posta podajemy link do klipu, czy link do prezentacji slideshare i poprzez bibliotekę obsługującą oEmbed możemy w łatwy sposób zamienić te linki na embedowane odtwarzacze, czy linki podpięte pod miniaturki. Listę większości serwisów obsługujących oEmbed znajdziemy na embed.ly.
Serwis oferujący obsługę oEmbed musi podać adres URL obsługujący żądania np. http://www.flickr.com/services/oembed/ oraz podać jakie linki są rozpoznawane przez to api, np: http://www.flickr.com/photos/*. Mając te dane można użyć API, np:
<oembed>
<version>1.0</version>
<type>photo</type>
<title>LAGOON AND TRIFFID IN H ALPHA</title>
<author_name>Narayan Mukkavilli</author_name>
<author_url>http://www.flickr.com/photos/91784720@N00/</author_url>
<cache_age>3600</cache_age>
<provider_name>Flickr</provider_name>
<provider_url>http://www.flickr.com/</provider_url>
<width>500</width>
<height>325</height>
<url>
http://farm5.static.flickr.com/4096/4868367542_8b1c2f8997.jpg
</url>
</oembed>
W Pythonie mamy do dyspozycji python-oembed oraz django-oembed. W przypadku aplikacji Django dostajemy gotową aplikację obsługującą większość popularnych serwisów - w bazie danych ma gotowe reguły dl 61 providerów oEmbed i nie musimy ich wprowadzać ręcznie.
Django-oembed
By zainstalować aplikację pobieramy źródła:Aplikacja gotowa jest do działania.
Teraz w szablonach Django możemy załadować tagi - {% load oembed_tags %} i używać ich:{{ blog.content|oembed:"600x600" }}
czy np.:
{% oembed %}{{ blog.additional_content }}
<p>blablabla</p>
http://www.flickr.com/photos/riklaunim/4859954938/
<p>blaa</p>
{% endoembed %}

Comment article