使用 Django WebSocket Redis 搭建在线即时通讯工具

本文展示了如何使用 Django、WebSocket 和 Redis 构建一个在线即时通讯工具。从 Django 基础、ORM、邮件验证、Session 和 Cookie,到 WebSocket 基础和 dwebsocket 模块的使用,再到 Redis 库的应用,逐步解析项目的各个部分。通过实际项目代码解读,包括用户认证流程、WebSocket 处理流程和退出登录流程,深入理解实时通信的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说先上效果图演示

 

项目:http://112.74.164.107:9990/

1、安装组建

redis: yum install redis/apt install redis

2、创建虚拟化环境并进入

python3/python -m venv venv 

source venv\bin\active

3、安装第三方库
pip install -r requirements.txt

4、初始化
python manage.py makemigrations 

python manage.py migrate
python manage.py collectstatic

5、启动服务
gunicorn -w 5 -k gevent -b 0.0.0.0:9990 webchat.wsgi

6、访问

浏览器访问 http://ip:9990

整个项目中涉及的思路和知识点我们在这里都一一分解为大家详细解说如下:

 

Django 基础

Django :一个可以使 Web 开发工作愉快并且高效的 Web 开发框架,能够以最小的代价构建和维护高质量的 Web 应用

框架:软件开发工程师从日常的重复劳动中总结出快速的、模块化的、安全的软件开发模式

Django 是 Python 开发者的最佳 Web 框架

 

MVC

 

ORM

Object Relation Mapping (关系对象映射)

  • 用来把对象模型表示的对象映射到基于 SQL  的关系模型数据库结构中去
  • 在具体的操作实 体对象的时候,就不 需要再去和复杂的 SQL 语句打交道,只 需简单的操作实体对 象的属性和方法

 

Mail (通过邮箱和验证码方式进行用户登录验证)

开发者可为使用 Django 提供的 send_mail 函数发送邮件

使用方法

配置邮箱(setting.py)

  • EMAIL_HOST = 'smtp-mail.outlook.com'
  • EMAIL_PORT = 587
  • EMAIL_HOST_USER = 'imsilence@outlook.com'
  • EMAIL_HOST_PASSWORD = ‘xxxxxx'
  • EMAIL_USE_TLS = True
  • EMAIL_FROM = EMAIL_HOST_USER

发送

send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)

: django 发送邮件封装 python smtplib 模块,smtplib 使用方 法: https://github.com/imsilence/packages/blob/master/python/mailclient.py

Session & Cookie

实现用户认证机制

  • HTTP 协议为无状态
  • Session 存储在服务器
  • Cookie 存储在客户端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值