跳转到主要内容

Django的高级通知

项目描述

django-whistle

Django Whistle是一个Django应用程序,它提供了一种简单的方式通过不同的渠道发送通知。目前支持webpushemail渠道。

基本用法

  1. 安装:使用pip安装Django Whistle
pip install django-whistle
  1. 设置配置:将'whistle'添加到Django项目设置中的INSTALLED_APPS
# settings.py

INSTALLED_APPS = [
   # ...
   'whistle',
]

配置

通过在项目的settings.py中配置设置来自定义Django Whistle

基础

设置如下通知的事件和渠道: 小贴士,您可以使用TextChoices为事件。

 # settings.py

WHISTLE_CHANNELS = ['web', 'push', 'email']
WHISTLE_NOTIFICATION_EVENTS = (
    ('NAME_OF_EVENT', gettext_lazy('Object %(object)r was updated')
)
### Custom Notification Manager/Handlers

You can ovverride the logic of sending notifications by creating custom manager or handler. Handler is for general
availability of event/channel, and managers is for defining the behaviour. For example, you can use it to customize
emails, add context to emails, or for whatever you miss in the default implementation.

```python
# settings.py

WHISTLE_EMAIL_MANAGER_CLASS = "bidding.notifications.managers.CustomEmailManager"
WHISTLE_NOTIFICATION_MANAGER_CLASS = (
    "bidding.notifications.managers.CustomNotificationManager"
)
WHISTLE_AVAILABILITY_HANDLER = "bidding.notifications.handlers.availability_handler"

异步通知

您可以使用队列异步发送通知。

# settings.py

WHISTLE_REDIS_QUEUE = None
WHISTLE_USE_RQ = False
RQ_QUEUES = None
WHISTLE_CACHE_TIMEOUT = None  # infinite

运行测试

解释如何为此系统运行自动测试

分解为端到端测试

解释这些测试测试什么以及为什么

Give an example

以及编码风格测试

解释这些测试测试什么以及为什么

Give an example

部署

添加有关如何在实时系统上部署此项目的额外说明

构建工具

贡献

请阅读 CONTRIBUTING.md 以了解我们的行为准则以及向我们提交拉取请求的过程。

版本控制

我们使用 SemVer 进行版本控制。有关可用版本,请参阅 此存储库的标签

作者

还可以查看参与此项目的贡献者列表

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE.md 文件。

致谢

  • 感谢所有使用过代码的人。
  • 灵感来源
  • 等等

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

django-whistle-5.0.0.tar.gz (30.7 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面