Django message notification package
Project description
Django user notification
Overview
Django user notification is intended to provide a way to send multiple types of notification messages to django users out of box.
Documentation
on the way...
Requirements
- Python 3.8, 3.9, 3.10
- Django 3.1, 3.2, 4.0, 4.1
Installation
Install using pip
...
pip install django-user-notification
Add 'tinymce'
and 'notification'
to your INSTALLED_APPS
setting.
INSTALLED_APPS = [
'django.contrib.admin',
...
'tinymce',
'notification',
]
Quick Start
Let's take a look at a quick start of using Django user notification to send notification messages to users.
Run the notification
migrations using:
python manage.py migrate notification
Add the following to your settings.py
module:
INSTALLED_APPS = [
... # Make sure to include the default installed apps here.
'tinymce',
'notification',
]
DJANGO_USER_NOTIFICATION = {
"aliyunsms": {
"access_key_id": "Your Access Key ID",
"access_key_secret": "Your Access Key Secret",
"sign_name": "Your Sign Name",
},
"dingtalkchatbot": {
"webhook": "Your Webhook URL",
},
"dingtalkworkmessage": {
"agent_id": "Your App Agent ID",
"app_key": "Your App Key",
"app_secret": "Your App Secret",
},
"dingtalktodotask": {
"app_key": "Your App Key",
"app_secret": "Your App Secret",
},
}
Add tinymce.urls
to urls.py
for your project:
urlpatterns = [
...
path('tinymce/', include('tinymce.urls')),
...
]
Let's send a notification
from django.contrib.auth import get_user_model
from notification.backends import notify_by_email, notify_by_dingtalk_workmessage
User = get_user_model()
recipient = User.objects.first()
# send a dingtalk work message notification
notify_by_dingtalk_workmessage([recipient], phone_field="phone", title="This is a title", message="A test message")
# send a email notiofication
notify_by_email([recipient], title="This is a title", message="A test message")
Send Message With Template
django-user-notification
support send notifications with custom template, To
specify a custom message template you can provide the template_code
and context
parameters.
-
Create a template message with code named
TMP01
on django admin -
Provide the
template_code
andcontext
tosend
method:
...
notify_by_email([recipient], template_code="TMP01", context={"content": "Hello"})
Supported backends
DummyNotificationBackend
: send dummy messageEmailNotificationBackend
: send email notification.WebsocketNotificationBackend
: send webdocket notification, need install extension:channels
.AliyunSMSNotificationBackend
: send aliyun sms notification, need install extension:aliyunsms
.DingTalkChatbotNotificationBackend
: send dingtalk chatbot notification.DingTalkToDoTaskNotificationBackend
: send dingtalk todo tasks notificationDingTalkWorkMessageNotificationBackend
: send dingtalk work message notification.WechatNotificationBackend
: planning...
Running the tests
To run the tests against the current environment:
$ pytest tests/
Changelog
0.7.0
- Initial release
Contributing
As an open source project, we welcome contributions. The code lives on GitHub
Thanks
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_user_notification-0.10.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30dc84011a5b261f1f4da983bef53c87ace0f83e0f5e920d6c4fec477e7c2805 |
|
MD5 | 613923f5ee4451bd69aa06369d5e4771 |
|
BLAKE2b-256 | ca005638112a042584feee5b35336a026dad225d92e9e20a221328aa52148edd |
Hashes for django_user_notification-0.10.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79621f0da6a6e37e5e3c733310cafeec74d906cfe22979ef8b8c507a6755cd19 |
|
MD5 | a818be81cb4785c31591857df48ef328 |
|
BLAKE2b-256 | 370f9d8b59b6bbd649f0b55c58ad2e7657c7cc61427d081b23b234e971c200ad |