How to Add Social Media Sharing Button in Django

In today’s interconnected world, integrating social media sharing functionality into your web applications has become essential. Django, a powerful web framework, offers various packages that make it easy to add social sharing features to your projects. In this blog post, we’ll explore the process of implementing social sharing in your Django website using the django-social-share package.

Adding Social Media Buttons in Django

Step 1: Set Up Your Django Project

  1. Create a new Django project or utilize an existing one.
  2. Make sure you have your models, views, and templates set up.

Step 2: Install django-social-share

  1. Open your terminal and install the django-social-share package:
pip install django-social-share
  1. Add 'social_share' to your INSTALLED_APPS in

Step 3: Implement Social Sharing in Templates

  1. In your template, load the social_share template tags:
{% load social_share %}
  1. Add social sharing buttons wherever you want them to appear:
<div class="social-sharing">
       <h3>Share this content:</h3>
       {% post_to_facebook object_or_url "Post to Facebook!" %}
       {% post_to_twitter "New Song: {{object.title}}. Check it out!" object_or_url "Post to Twitter" %}

More Examples

{% post_to_twitter_url <text_to_post> <object_or_url> %}

Will add a tweet_url variable to the context, containing the URL for the Twitter sharer popup.

{% post_to_facebook_url <object_or_url> %}

Will add a facebook_url variable to the context, containing the URL for the Facebook sharer popup.

{% send_email_url <subject> <text_to_post> <object_or_url> <link_text> %}

Will add a mailto_url variable to the context, containing the URL for the mailto anchor.

{% post_to_reddit_url <text> <object_or_url> %}

Will add a reddit_url variable to the context, containing the URL for the Reddit poster page.

{% post_to_telegram <text> <object_or_url> %}

Will add a telegram_url variable to the context, containing the URL for the Telegram sharer popup.

{% post_to_whatsapp_url <object_or_url> %}

Will add a whatsapp_url variable to the context, containing the URL for the WhatsApp sharer.

{% save_to_pinterest_url <object_or_url> %}

Will add a pinterest_url variable to the context, containing the URL for the Pinterest sharer.

{% copy_to_clipboard <object_or_url> <link_text> <link_class> %}

Will add a copy_url variable to the context, containing the URL for the link to copy.

Step 4: Testing and Integration

  1. Run your Django server and navigate to a page with the social sharing buttons.
  2. Test the functionality of the sharing buttons by clicking on them to share content on respective platforms.

Step 5: Advanced Integration (Optional)

  1. Some platforms, like Facebook, require additional Open Graph meta tags for rich sharing.
  2. Customize your templates to include Open Graph tags in the HTML <head> section.


With the django-social-share package, integrating social sharing functionality into your Django website has never been easier. Empower your users to effortlessly share your content across their favorite social media platforms, boosting engagement and increasing your site’s visibility. By following this guide, you’ve enriched your Django project with an essential feature that can amplify its reach in the online world.

Find this project on Github.

Blogs You Might Like to Read!