Skip to main content

Adds social media features to any website

Project description

DJANGO SOCIAL LAYER

django-social-layer - Adds social media features to any website.

FEATURES

  • easly add a comment section to any webpage

  • users can like comments

  • notifications

  • users have profile page

  • New: users now can post content, images, videos, etc.

INSTALATION

Install django-social-layer:

pip install django-social-layer

Add to urls.py:

path('', include(('social_layer.urls', 'social_layer'), namespace="social_layer"))

add to settings.py:

INSTALLED_APPS = [
    # ...
    'social_layer',
    'infscroll', # required
]

# the login url to redirect site visitors to a social account.
# Note that you need to take care of auth and user registration.
SOCIAL_VISITOR_LOGIN = '/login/'

run migrations:

./manage.py migrate

USAGE

Create a CommentSection for any purpose. It can, for example, be linked to an object with a ForeignKey field, or to a view by it’s URL. In our example we will use an url, but it’s optional. A CommentSection optionally can have an owner.

from social_layer.comments.models import CommentSection
comment_section = CommentSection.objects.create(url=request.path)

Now inside a view, lets add a commennt section for the page:

from social_layer.comments.models import CommentSection
def my_view(request):
    # in this example, we'll use the url to match the page.
    comment_section, n  = CommentSection.objects.get_or_create(url=request.path)
    context = {'commentsection': comment_section}
    return render(request, 'my_view.html', context)

To finish, add this to the template:

{% load static %}
<script defer application="javascript" src="{% static 'social_layer/js/social_layer.js' %}"></script>
<link rel="stylesheet" href="{% static 'social_layer/css/social_layer.css' %}"/>
...
<p>The comment section will render below.</p>
{% include 'social_layer/comments/comment_section.html' %}

Get and create a SocialProfile for an authenticated user:

from social_layer.utils import get_social_profile
def my_view(request):
    profile = get_social_profile(request)

Hope this can be useful to you.

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-layer-1.0.2.tar.gz (89.8 kB view details)

Uploaded Source

Built Distribution

django_social_layer-1.0.2-py3-none-any.whl (137.3 kB view details)

Uploaded Python 3

File details

Details for the file django-social-layer-1.0.2.tar.gz.

File metadata

  • Download URL: django-social-layer-1.0.2.tar.gz
  • Upload date:
  • Size: 89.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for django-social-layer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 db7245a720425ad2b7065ce9d313aea0894fe13034ffe625fa2fa19f957285d4
MD5 b113c3b7d0c22a0d81d3aa8fdaf77067
BLAKE2b-256 d38cf9d7b752d6890398b78dd7deb4751b350cd3ddea664fe4729801420c71c3

See more details on using hashes here.

File details

Details for the file django_social_layer-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: django_social_layer-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 137.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for django_social_layer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7535f2025243e7a105a8ea96cf896f8de15bea8988bf0193ef97073c2385d10d
MD5 e016b97079c44600e76408838a916c14
BLAKE2b-256 1436a22f3acf37622a0716bb0a8b69cce6d3b4796a3821baab24406b43bd342c

See more details on using hashes here.

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