前言
本文章记录在网站搭建过程中使用django_notifications的方法,使用的是前后端不分离的方法,完全作为记录以方便日后浏览使用,故仅供浏览者参考使用。
以下是本篇文章正文内容
目录
一、准备工作
1.安装django-notifications:
(env) > pip install django-notifications-hq
2.在项目settings文件中注册app
objects_web/settings.py
...
INSTALLED_APPS = [
...
'notifications',
...
]
3.在根路由中写入路径
objects_web/urls.py
...
import notifications.urls
urlpatterns = [
...
# 通知
path('inbox/notifications/', include(notifications.urls, namespace='notifications')),
...
]
...
4.数据迁移
(env) > python manage.py migrate
二、基本使用
1. 生成通知
你可以在任意的地方导入并发送消息
from notifications.signals import notify
notify.send(actor, recipient, verb, action_object,
target, level, description, public,timestamp, **kwargs)
上面是完整的语法,参数分别为:
- actor(发件人):任何类型的对象。(必需)如果打算使用关键字参数,要使用sender
- recipient(收件人): 一组或一个用户查询集或列表的用户(必需的)。
- verb(动作): 一个字符串(必需的)。
- action_object:任何类型的对象(可选的)。
- target(目标):任何类型的对象(可选的)。
- level(等级):Notification.LEVELS ('success', 'info', 'warning', 'error') 之一(可选的)。
- description(描述): 一个字符串(可选的)。
- public(公共的):一个布尔值(默认值=True)(可选的)。
- timestamp(时间戳)
其中,发件人(actor),收件人(recipient),动作(verb)这三项是在使用时必须传入的,其他项可根据实际情况使用。
我在项目根部录下创建了一个notifications.py文件,用来放通知功能相关的代码
然后把发送通知的方法封装成了一个函数,直接上代码:
objects_web/notification.py
from notifications.signals import notify
def send_notifications(actor, verb, recipient, target=None,
description=None, **kwargs):
"""
这里原本放的是上文各个参数的说明
"""
notify.send(sender=actor,
recipient=recipient,
verb=verb,
target=target,
description=description

本文详细介绍了如何在Django项目中使用django-notifications库搭建通知系统,包括安装、配置、数据迁移、通知的生成、前端显示数量、未读转已读以及已读通知的显示和删除等操作。同时,文章提供了实用的代码示例,帮助开发者快速理解和应用。
最低0.47元/天 解锁文章
1355

被折叠的 条评论
为什么被折叠?



