Socket
Socket
Sign inDemoInstall

django-dans-notifications

Package Overview
Dependencies
3
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    django-dans-notifications

A Django app to different handle basic notifications.


Maintainers
1

Readme

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. Install the package via pip:
pip install django-dans-notifications
  1. Add "django_dans_notifications" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [
	...
	'django_dans_notifications',
]
  1. Include the URL configs 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 update your database schema.

  2. 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 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

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

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc