Skip to main content

A Django app to handle notifications.

Project description

Django Dans Notifications

Lint Test Python codecov

Description

A Django app to handle notifications.

Support for basic notifications, push notifications and email notifications.

Quick start

  1. Add "django_dans_notifications" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [
	...
	'django_dans_notifications',
]
  1. Include the notifications URLconf in your project urls.py for the REST API endpoints like this:
path("api/notifications/", include("django_dans_notifications.urls")),
  1. Run python manage.py migrate to create the models.

  2. Create notifications via the API endpoints, in code or your Admin portal.

Requirements

  • Python 3.0 or higher
  • Django 3.0 or higher
  • Django Rest Framework
    • NOTE: not only must you have this installed, you must have set DEFAULT_AUTHENTICATION_CLASSES and DEFAULT_PAGINATION_CLASS in your settings.py to work with the APIs properly. An example config would be:
REST_FRAMEWORK = {
    "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
    "PAGE_SIZE": 20,
    "DEFAULT_AUTHENTICATION_CLASSES": (
        "rest_framework.authentication.TokenAuthentication",
    ),
}

Available Settings

  • TEAM_NAME - Default team name to use for emails, can be added to message context manually as well still.
  • IN_TEST - Whether running in tests or not. Used to determine whether to actually send email.

Usage

The main way to interact with this app is to create and use the appropriate models and their managers' methods as needed.

Also included is the NotificationManager a class to expose some common functionality and maintain object permissions.

Some available methods currently are:

  • get_notifications_push/email/basic/all
    • Enforce object ownership and notification 'direction'
  • mark_notification_basic_read

Docs

Model docs.

API docs.

Email Template docs.

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-dans-notifications-1.1.3.tar.gz (21.0 kB view hashes)

Uploaded Source

Built Distribution

django_dans_notifications-1.1.3-py3-none-any.whl (33.2 kB view hashes)

Uploaded Python 3

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