A Django app to send push notifications to users.
Project description
Mad Notifications
Mad Notifications app for django to send notifications to the user
Quick start
-
Add "mad_notifications" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'mad_notifications', ]
-
Include the notifications URLconf in your project urls.py like this:
path('notifications/', include('mad_notifications.api.urls')),
-
Run
python manage.py migrateto create the notifications models.
Usage
Shorthand method
from mad_notifications.shorthand import newNotification
# create and send
return newNotification(
user=user, # django user object
title="", # string
content="", # string
template_slug = None, # string - slug from mad_notification.NotificationTemplate
data = {}, # dict
actions = {} # dict
)
Notification Class
from mad_notifications.notification import Notification
# create a notification
notification = Notification(
user = user,
title = "New Order",
content = "You have a new order!",
data = {
'order': order_data,
},
actions = {
'click_action': "ORDER_SCREEN"
},
template = email_template, # mad_notification.NotificationTemplate Object
)
# send the notification
notification.notify()
Overriding default
MAD_NOTIFICATIONS_USER_NOTIFICATION_CONFIG_MODEL = "mad_notifications.UserNotificationConfig"
MAD_NOTIFICATIONS_NOTIFICATION_MODEL = "mad_notifications.Notification"
MAD_NOTIFICATIONS_TEMPLATE_MODEL = "mad_notifications.NotificationTemplate"
MAD_NOTIFICATIONS_DEVICE_MODEL = "mad_notifications.Device"
MAD_NOTIFICATIONS_DEFAULT_SMS_PROVIDER = "Twilio" # valid values "Twilio" / "Telnyx"
TWILIO_ACCOUNT_SID = ""
TWILIO_ACCOUNT_AUTH_TOKEN = ""
TWILIO_ACCOUNT_PHONE_NUMBER = ""
TELNYX_API_KEY = ""
TELNYX_MESSAGING_PROFILE = ""
TELNYX_FROM_PHONE_NUMBER = ""
MAD_NOTIFICATIONS = {
"FIREBASE_MOBILE_PUSH_NOTIFICATION_CLASS": "mad_notifications.senders.firebase.FirebaseMobilePushNotification",
"EMAIL_NOTIFICATION_CLASS": "mad_notifications.senders.email.EmailNotification",
"TWILIO_NOTIFICATION_CLASS": "mad_notifications.senders.twilio.TwilioNotification",
"TELNYX_NOTIFICATION_CLASS": "mad_notifications.senders.telnyx.TelnyxNotification",
# User config
"USER_NOTIFICATION_CONFIG_ADMIN_CLASS": "mad_notifications.admin.UserNotificationConfigAdmin",
# Notification Templates
"NOTIFICATION_TEMPLATE_ADMIN_CLASS": "mad_notifications.admin.NotificationTemplateAdmin",
# Device
"DEVICE_ADMIN_CLASS": "mad_notifications.admin.DeviceAdmin",
"NOTIFICATION_ADMIN_CLASS": "mad_notifications.admin.NotificationAdmin",
}
Developer Guide
Setting up a new provider
Create logic in ~/senders/PROVIDER.py and call via tasks in ~/notify/PROVIDER.py
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mad_notifications-6.0.0rc9-py3-none-any.whl.
File metadata
- Download URL: mad_notifications-6.0.0rc9-py3-none-any.whl
- Upload date:
- Size: 27.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c278ff9dd2f1562880b0a0d877029adfc0372a548f80fb23b307425202e37a8c
|
|
| MD5 |
098f02cb6b993a5c339be50178d62d8d
|
|
| BLAKE2b-256 |
2cc98ff99fcd2e54b463238d0c1e19f89e99dfedd1270ae33bd84ed2465d1d43
|