A Django app to different handle notification types.
Project description
Django Dans Notifications
Description
A Django app to handle notifications.
Support for basic notifications, push notifications and email notifications.
Quick start
- Install the package via pip:
pip install django-dans-notifications
- Add "django_dans_notifications" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [
...
'django_dans_notifications',
]
- Include the notifications URLconf in your project urls.py for the REST API endpoints like this:
path("api/notifications/", include("django_dans_notifications.urls")),
-
Run
python manage.py migrate
to update your database schema. -
Create notifications via the API endpoints, in code or your Django 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
andDEFAULT_PAGINATION_CLASS
in yoursettings.py
to work with the APIs properly. An example config would be:
- NOTE: not only must you have this installed, you must have set
REST_FRAMEWORK = {
"DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
"PAGE_SIZE": 20,
"DEFAULT_AUTHENTICATION_CLASSES": (
"rest_framework.authentication.TokenAuthentication",
),
}
Available Settings
Currently all available settings are optional:
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 of its methods currently are:
- get_notifications_push/email/basic/all
- Enforce object ownership and notification 'direction'
- mark_notification_basic_read
You can also interact directly, so for example to send an email notification:
from django_dans_notifications.models import EmailNotification
email_notification = EmailNotification.objects.send_email(...)
Docs
Model docs.
API docs.
Email Template docs.
https://danielnazarian.com
Copyright 2024 © Daniel Nazarian.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-dans-notifications-1.1.16.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffbdd457fdc5878b54772ca85d4803ddb4f2be9b66cba1088cdc14591d4fa15d |
|
MD5 | ec2f9edca65723f625593cab74077cb9 |
|
BLAKE2b-256 | a435b2ce6d754c4284214d2e3223aa342e05b7c4e7a8f8d7e13b1e89068b1b6e |
Hashes for django_dans_notifications-1.1.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83f7940685b0c70672c901970c024390c80c988334e79546ce6e6d9b4c506b55 |
|
MD5 | e2ae3b02d5241e52ddd30695486b4e88 |
|
BLAKE2b-256 | a75345a23b67e2da8a987464b475d1f8162b3fcf7ec439d9219fe54b4c8b0daa |