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 migrate
to 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 Distribution
mad_notifications-5.1.1.tar.gz
(14.8 kB
view details)
File details
Details for the file mad_notifications-5.1.1.tar.gz
.
File metadata
- Download URL: mad_notifications-5.1.1.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | beb1279bf32b82a8dd34bf094ce647166aa63dbaa65598b4ae4c3fa1dc48a9fa |
|
MD5 | 5790990753e27f8818514c99f0b66434 |
|
BLAKE2b-256 | 0baff6e938eb116ce86e80c9696fc2c880dcab41d262121b59ff5b3f45572f16 |