A Django app to different handle basic notifications.
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 URL configs 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. -
Use the API endpoints, in code or your Django admin portal.
Requirements
- Python 3.8 or higher
- Django 3.1 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.
Add these to your settings.py
file to customize the app's behavior like so:
TEAM_NAME = "My Team"
IN_TEST = True
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.18.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6061ef30e087555da59e61b4d13d09a23388f2666080b1172cb5c5924d44827 |
|
MD5 | 4c68771861b0340a5c74ac7da378e311 |
|
BLAKE2b-256 | a8a357d3ef34599b5c0ebf702771676bf451e0bcbd6226d03de590fcedc6959d |
Hashes for django_dans_notifications-1.1.18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f64f5b55890467054c2dc33acd68510b5b25fb40aca7c894b2fcfc892fbf40c4 |
|
MD5 | 35239b97fdb419e5f1391c3f2f5186b4 |
|
BLAKE2b-256 | a521aa02b54ad82d569fbefdd8622beebbdc9d46bc848cf6998f4c73319fa3fa |