Django的高级通知
项目描述
django-whistle
Django Whistle是一个Django应用程序,它提供了一种简单的方式通过不同的渠道发送通知。目前支持web
、push
、email
渠道。
基本用法
- 安装:使用pip安装Django Whistle
pip install django-whistle
- 设置配置:将'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
部署
添加有关如何在实时系统上部署此项目的额外说明
构建工具
- Dropwizard - 使用的Web框架
- Maven - 依赖管理
- ROME - 用于生成RSS Feeds
贡献
请阅读 CONTRIBUTING.md 以了解我们的行为准则以及向我们提交拉取请求的过程。
版本控制
我们使用 SemVer 进行版本控制。有关可用版本,请参阅 此存储库的标签。
作者
- Billie Thompson - 初始工作 - PurpleBooth
还可以查看参与此项目的贡献者列表。
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE.md 文件。
致谢
- 感谢所有使用过代码的人。
- 灵感来源
- 等等
项目详情
关闭
django-whistle-5.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e3b4b15676a623009db57d5eddcf5e5b77459341265d3cb99c4fead0a33f29aa |
|
MD5 | cd3b9227b126cacb5eb867a4bd280b91 |
|
BLAKE2b-256 | f4cb963ab182976d629cfeb4057d4c872bc07a2c2da4542ce9ddd249008db2b5 |