话不多说先上效果图演示
项目: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 存储在客户端