实时通信
本文介绍 youlai-django 在后台管理场景下的 WebSocket 通知实现,用于与 Vue3 Element Admin 联调。
整体架构
连接与认证
- Django 使用 Channels 4
- 连接地址:
text
ws://<host>/ws/notice?token=<accessToken>- 后端在
connect阶段解析 querytoken,解码并识别当前用户
通知发布与推送
发布通知后,后端通过 Channel Layer 广播事件;前端收到后可刷新“我的通知”列表、更新红点、弹出提醒。
启用要点
requirements.txt需要包含channels- 使用 ASGI 方式运行(如
daphne、uvicorn) settings配置ASGI_APPLICATION与CHANNEL_LAYERSconfig/asgi.py使用ProtocolTypeRouter同时支持 HTTP 与 WebSocket
更多实现细节见现有 Python WebSocket 文档与代码。
