DSN 或 django-signal-notifier 是一个 Django 包,用于根据 Django 的信号触发发送消息或通知
项目描述
DSN或django-signal-notifier是一个 Django 包,用于根据 Django 的信号触发发送消息或通知。您可以为每个信号分配一些后端(例如,现场通知应用程序)。
django-signal-notifier与其他 Django 通知包的主要区别在于DSN不仅仅是一个简单的消息传递系统。它可以充当 Django 和每个信使客户端(各种客户端,如电子邮件、电报、短信和推特)之间的中间件。
它使用事件方法,它基于Django signal。如果信号触发,则调用信使为指定用户发送消息。为了理解它是如何工作的,我们首先解释一些主要概念。
文档、安装和入门说明在文档中
概念(摘要)
DSN的架构:
简而言之,我们可以说DSN是为发送消息而开发的:
何时何地?:触发触发时(调用相关信号的发送函数,并且触发的规格匹配)。
发送什么?:为 message_template 和其他参数(如 signal_kwargs)创建的消息。
寄给谁?: 将消息发送给订阅中注册的接收者或信使中可以指定的动态用户。
设置
要求
蟒蛇 2.7、3.4、3.5、3.6、3.7
Django 1.7、1.8、1.9、1.10、1.11、2.0、2.1、2.2、3.0
安装
1 、通过pip安装django-signal-notifier :
$ pip install django-signal-notifier
或使用源
$ git clone https://github.com/hadi2f244/django-signal-notifier $ cd django-signal-notifier $ python setup.py sdist $ pip install dist/django-signal-notifier*
在 INSTALLED_APPS 设置的末尾添加“django_signal_notifier”,如下所示
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
...
'django_signal_notifier',
]
迁移
django-signal-notifier默认由管理面板配置(可以通过代码配置,强悍)
使用python manage.py migrate进行模式迁移。
用法
运行开发服务器并访问http://127.0.0.1:8000/admin/ 创建触发器(信号)、后端(信使和消息模板)和订阅(您需要启用管理应用程序)。
- 你可以像这样测试它:
5.1。创建触发器(verb=pre_save 和 action_object=TestModel1)
5.2. 创建后端(messenger=SimplePrintMessengerTemplateBased 和 message_template=SimplePrintMessageTemplate)
5.3. 创建连接触发器和后端的订阅。将管理员添加到接收者(用户)列表。
5.4. 在 manage.py shell 中运行此命令:
from django_signal_notifier.models import * TestModel1_another_instance = TestModel1.objects.create(name="new_test_model2", extra_field="extra")现在,您应该在创建 TestModel1 时看到一条消息。通过创建新的 TestModel1,Django 调用 pre_save 信号的发送方法。然后这个信号调用关联的触发器处理程序。在 Trigger 处理程序中,调用关联的后端。带有一些详细信息的 message_template 被发送到后端。在我们的例子中,打印了一条简单的消息。您可以提供您的信使和 message_templates。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。