Skip to main content

Reusable application for Django introducing a message delivery framework

Project description

https://github.com/idlesign/django-sitemessage

https://img.shields.io/pypi/v/django-sitemessage.svg https://img.shields.io/pypi/l/django-sitemessage.svg https://img.shields.io/coveralls/idlesign/django-sitemessage/master.svg https://travis-ci.org/idlesign/django-sitemessage.svg?branch=master

Description

Reusable application for Django introducing a message delivery framework.

Schedule and send messages with several easy steps, using concepts of:

  • Messengers - clients for various protocols (smtp, jabber, twitter, telegram, facebook, vkontakte, etc.);
  • Message Types - message classes exposing message composition logic (plain text, html, etc.).
  1. Configure messengers for your project (create sitemessages.py in one of your apps):
from sitemessage.toolbox import register_messenger_objects
from sitemessage.messengers.smtp import SMTPMessenger

register_messenger_objects(
    # Here we register one messenger to deliver emails.
    # By default it uses mailing related settings from Django settings file.
    SMTPMessenger()
)
  1. Schedule messages for delivery when and where needed (e.g. in a view):
from sitemessage.shortcuts import schedule_email

def send_mail_view(request):
    ...

    # Suppose `user_model` is a recipient Django User model instance.
    user1_model = ...

    # We pass `request.user` into `sender` to keep track of senders.
    schedule_email('Message from sitemessage.', [user1_model, 'user2@host.com'], sender=request.user)

    ...
  1. Periodically run Django management command from wherever you like (cli, cron, Celery, uWSGI, etc.):

    ./manage.py sitemessage_send_scheduled

And that’s only the tip of sitemessage iceberg, read the docs %)

Project details


Download files

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

Files for django-sitemessage, version 1.3.3
Filename, size File type Python version Upload date Hashes
Filename, size django_sitemessage-1.3.3-py2.py3-none-any.whl (51.7 kB) File type Wheel Python version 2.7 Upload date Hashes View
Filename, size django-sitemessage-1.3.3.tar.gz (50.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page