Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

Widgety seriwsów społecznościowych na stronie dzięki pluginowi Django Social Widget

W dzisiejszych czasach nie odłącznym elementem internetu są sieci społecznościowe. Zdominowały one niemal wszystkie aspekty cyfrowego życia. Jednak najważniejsze z punktu widzenia web developerów jest to że, są one głównym narzędziem do promocji treści udostępnianych w serwisach internetowych. Social widgety na stałe wkomponowały się w layoutu stron www i raczej prędko z nich nie znikną.

Nic więc dziwnego, że powstało już sporo różnych rozwiązań programistycznych, które pozwalają w prosty sposób zamieścić takie elementy bezpośrednio w kodzie danej strony internetowej. W tym artykule przyjrzymy się pluginowi „Django social widget” opartego o Pythona. Jest to bardzo proste w użyciu i zarazem efektywne rozwiązanie do tworzenia social widgetów opartych o API portali społecznościowych takich jak Facebook, Twitter czy Google+.

Wymagania

Django social widget do poprawnego działania wymaga Pythona w wersji wyższej niż 2.6 oraz oczywiście Django przynajmniej 1.6.

Instalacja

Aby skorzystać z dobrodziejstw jakie oferuje nam Django social widget należy rozpakować wszystkie pliki w katalogu projektu. W tym celu otwieramy więc terminal i przechodzimy do katalogu w którym mamy zapisane wszystkie skrypty strony nad którą pracujemy. Następnie uruchamiamy poniższą komendę:

pip install django-social-widgets

Na koniec pozostaje nam przejście do pliku konfiguracyjnego settings.py oraz dodanie w nim informacji o nowo zainstlowanym widgecie:

INSTALLED_APPS = (
...
'social_widgets',
...
)

Gotowe. Teraz możemy korzystać ze wszystkich dobrodziejstw jakie oferuje nam Django Social Widget.

Przykład użycia

Po wykonaniu powyższych kroków umieszczenie widgetu np. Facebooka czy Twittera będzie banalnie proste. Wystarczy w kodzie strony załadować plugin Django Social Widget (plik *.html generujący widok):

{% load social_widgets %}

oraz w dowolnym miejscu szablonu umieścić kod odpowiedzialny za wyświetlenie widgetu. Przykład dla portlu Facebook:

{% social_widget_render 'facebook/likebox.html' href='https://www.facebook.com/FacebookDevelopers' %}

Na podobnej zasadzie możecie na przykład zamieścić przycisk Facebooka do udostępniania tzw. Facebook share button:

{% social_widget_render "facebook/share_button.html" href="developers.facebook.com" %}

Parametry

Używając Django Social Widget mamy do dyspozycji wszystkie parametry jakie oferuje API konkretnego serwisu społecznościowego. Aby ich użyć zastępujemy wszystkie białe znaki znajdujące się w ich nazwie (czyli spacje, myślniki itd.) znakiem „_„. Przykładowo jeśli chcemy aby widget Twittera na naszej stronie wyświetał nagłówek (co umożliwia nam API Twittera) wprowadzamy taki kod: show_screen_name=True.

Cały fragment umożliwiający wyświetlenie wdgetu Twittera:

{% social_widget_render "twitter/follow_button.html" username="StrefaKoderaPL" show_screen_name=True %}

To samo możemy np. zrobić w przypadku obramowania w widgecie Facebooka, ustawiamy wtedy parametr show_border na True:

{% social_widget_render "facebook/likebox.html" app_id=12345678 href="https://www.facebook.com/FacebookDevelopers" show_border=True %}

Podsumowanie

Jak widać pisząc stronę internetową w Django bezpośrednio z poziomu tej technologii możemy umieścić różnego rodzaju elementy nawet pochodzące z zewnętrznych serwisów. W tym artykule poznaliśmy plugi Django Social Widget dzięki któremu w prosty i łatwy sposób możemy wkleić w kod naszej strony widget dowolnego portalu społecznościowego.

Więcej na ten temat poczytacie na Githubie gdzie zamieszczony jest kod projektu oraz dokukumentacja wraz z odnośnikami do demowych przykładów: github.com/creafz/django-social-widgets.

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

, , , , , , , , ,

Dodaj komentarz

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest