Skip to main content

Templatetags for 'tweet this' and 'share on facebook'

Project description

https://github.com/fcurella/django-social-share/workflows/Python%20build/badge.svg https://coveralls.io/repos/github/fcurella/django-social-share/badge.svg?branch=master

Provides templatetags for:

  • ‘Tweet This’

  • ‘Share this on Facebook’

  • ‘Share on Google+’

  • ‘Share on LinkedIn’

  • ‘Share on Telegram’

  • ‘Share on WhatsApp’

  • mailto://’.

  • ‘Save to Pinterest’

Plain HTML templates are provided for your convenience, but you can override them to provide your own look and feel.

Installation

$ pip install django-social-share

Add the app to INSTALLED_APPS:

INSTALLED_APPS += ['django_social_share']

You will also have to add django.template.context_processors.request to your context_processors list. This way the templatetags will use the correct scheme and hostname:

TEMPLATES=[
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'templates'),
        ],
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.request',
            ],
        }
    },
]

Note in most cases sharing will not work if you are using localhost or your domain is otherwise not accessible from the public internet. For testing local development, you can use a service like ngrok, and set your Site instance’s domain to the hostname provided by ngrok.

Usage

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

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

{% post_to_twitter <text_to_post> <object_or_url> <link_text> <link_class> %}

{% post_to_linkedin <object_or_url> <link_class> %}

{% send_email <subject> <text_to_post> <object_or_url> <link_text> <link_class> %}

{% post_to_reddit <text_to_post> <object_or_url> <link_text> <link_class> %}

{% post_to_telegram <text_to_post> <object_or_url> <link_text>  <link_class> %}

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

{% save_to_pinterest <object_or_url>  <link_class> %}

{% add_pinterest_script %}

<text_to_post> may contain any valid Django Template code. Note that Facebook does not support this anymore.

<object_or_url> is optional (except Telegram). If you pass a django model instance, it will use its get_absolute_url method. Additionally, if you have django_bitly installed, it will use its shortUrl on Twitter.

<link_text> is also optional. It defines the text used for the a element. Defaults to ‘Post to Facebook’ and ‘Post to Twitter’.

<subject> may contain any valid Django Template code.

{% 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.

{% post_to_gplus_url <object_or_url> %}

Will add a gplus_url variable to the context, containing the URL for the Google+ 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.

Example:

{% load social_share %}

{% 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" %}
{% post_to_gplus object_or_url "Post to Google+!" %}
{% post_to_linkedin object_or_url %}
{% send_email object.title "New Song: {{object.title}}. Check it out!" object_or_url "Share via email" %}
{% post_to_reddit "New Song: {{object.title}}" <object_or_url> %}
{% post_to_telegram "New Song: {{object.title}}" <object_or_url> %}
{% post_to_whatsapp object_or_url "Share via WhatsApp" %}
{% save_to_pinterest object_or_url %}
{% add_pinterest_script %} // Required for save_to_pinterest. Add to the end of body tag.

Templates

Templates are in:

  • django_social_share/templatetags/post_to_twitter.html

  • django_social_share/templatetags/post_to_facebook.html

  • django_social_share/templatetags/post_to_gplus.html

  • django_social_share/templatetags/send_email.html

  • django_social_share/templatetags/post_to_linkedin.html

  • django_social_share/templatetags/post_to_reddit.html.

  • django_social_share/templatetags/post_to_telegram.html.

  • django_social_share/templatetags/post_to_whatsapp.html.

  • django_social_share/templatetags/save_to_pinterest.html.

  • django_social_share/templatetags/pinterest_script.html.

You can override them to suit your mileage.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-social-share-2.2.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

django_social_share-2.2.0-py2.py3-none-any.whl (12.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-social-share-2.2.0.tar.gz.

File metadata

  • Download URL: django-social-share-2.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4

File hashes

Hashes for django-social-share-2.2.0.tar.gz
Algorithm Hash digest
SHA256 2750f39074f03d42c4b4d65ab000286d75617b7b705e35f99a513497c3ce88fd
MD5 bb43cce38d91b31cb966be72c56eb126
BLAKE2b-256 84a636ac5fa1afd72c9c6874824c5c5cf664d94abb70f9a2319897306ee8b840

See more details on using hashes here.

Provenance

File details

Details for the file django_social_share-2.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: django_social_share-2.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4

File hashes

Hashes for django_social_share-2.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 94a5602cfce9742b9db585e790672d37fd464efbbe3eb6f734c730a17d4edeaf
MD5 d4429b5dc78356c9e1e6d3d6504f05b1
BLAKE2b-256 1e10b11973e18fc9c1219d605165fc6a0d51c165b2c4315090d17642bf3ebf2d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page