Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Django app for sending notifications.

Project description

django-ilmoitin

Latest PyPI version Python versions

A templated Django messaging library

Installation

  1. pip install django-ilmoitin

  2. Add django_ilmoitin to INSTALLED_APPS.

  3. Run migrations

    python manage.py migrate ilmoitin
    

Usage

  1. django-ilmoitin uses django-mailer to send emails, so you need to configure the MAILER_EMAIL_BACKEND setting to let django-mailer know, how to actually send the mail:

    MAILER_EMAIL_BACKEND = "your.actual.EmailBackend"
    
  2. Define default from address in settings

    DEFAULT_FROM_EMAIL = "Ilmoitin <ilmoitin@example.com>"
    

    In case you need translated from addresses, those can be defined like

    ILMOITIN_TRANSLATED_FROM_EMAIL: {
       "fi": "Yrjö <ilmoitin@example.com>",
       "en": "George <ilmoitin@example.com>",
    }
    

    The value from DEFAULT_FROM_EMAIL will be used for languages not defined in that dict.

  3. Create a notifications.py file in django app and register your notification types:

    from django_ilmoitin.registry import notifications
    
    notifications.register("event_created", "Event created")
    notifications.register("event_deleted", "Event deleted")
    
  4. Create a dummy_context.py file in django app and add dummy context data. Either use the codes of notifications that you registered in the previous step, or use the const COMMON_CONTEXT to make some variables available for all templates:

    from django_ilmoitin.dummy_context import COMMON_CONTEXT, dummy_context
    
    from .models import MyModel
    
    my_object = MyModel(foo="bar")
    
    dummy_context.update({
        COMMON_CONTEXT: {"my_object": my_object},
        "event_created": {
            "foo": "bar"
        },
        "event_deleted": {
            "fizz": "buzz"
        }
    })
    
  5. Import notifications and dummy context in your apps.py:

    from django.apps import AppConfig
    
    
    class ExampleConfig(AppConfig):
        name = "example"
    
        def ready(self):
            import example.notifications
            import example.dummy_context
    
  6. Go to django admin and add notification templates to your notifications

  7. Send notifications:

    from django_ilmoitin.utils import send_notification
    
    context = {
        "foo": "bar",
    }
    send_notification("foo@bar.com", "event_created", context)
    

Code format

This project uses black for Python code formatting. We follow the basic config, without any modifications. Basic black commands:

  • To let black do its magic: black .
  • To see which files black would change: black --check .

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-ilmoitin, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size django_ilmoitin-0.3.0-py3-none-any.whl (12.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django_ilmoitin-0.3.0.tar.gz (9.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page