本教程的知识点为: 项目准备 项目准备 配置 1. 修改settings/dev.py 文件中的路径信息 2. INSTALLED_APPS 3. 数据库 用户部分 图片 1. 后端接口设计: 视图原型 2. 具体视图实现 用户部分 使用Celery完成发送 判断帐号是否存在 1. 判断用户名是否存在 后端接口设计: 用户部分 JWT 什么是JWT 起源 传统的session认证 用户部分 登录 1. 业务说明 2. 后端接口设计 3. 后端实现 登录 使用登录的流程 创建模型类 urllib使用说明 登录回调处理 登录 使用登录的流程 创建模型类 urllib使用说明 绑定用户身份接口 邮件与验证 学习目标: 业务说明: 技术说明: 保存邮箱并发送验证邮件 省市区地址查询 数据库建表 说明 页面静态化 注意 定时任务 安装 部分 详情页 异步任务的触发 。 后端接口设计 收货地址 使用缓存 安装 使用方法 为省市区视图添加缓存 数据库表设计 表结构 数据表结构 首页数据表结构 Docker使用 Docker简介 用户浏览历史记录 1. 保存 后端接口设计 后端实现 搜索 1. 需求分析 2. 搜索引擎原理 3. Elasticsearch 部分 业务需求分析 技术实现 数据存储设计 1. Redis保存已登录用户 商品部分 业务需求分析 技术实现 查询数据 1. 后端接口设计 部分 业务需求分析 技术实现 登录合并 修改登录视图 部分 保存 1. 后端接口设计 2. 后端实现 保存的思路 创建数据库模型类 接入 开发平台登录 沙箱环境 Xadmin 1. 安装 2. 使用 站点的全局配置 站点Model管理。 在Ubuntu中安装 2. 启动与停止 3. 镜像操作 端与自定义文件存储系统 1. 的Python客户端 安装 使用。
完整笔记资料代码: https://gitee.com/yinuo112/Backend/tree/master/Django/前后端分离django美多商城项目/note.md
感兴趣的小伙伴可以自取哦~
全套教程部分目录:
部分文件图片:
用户基本信息
查询并渲染用户基本信息
1. 用户模型补充email_active字段
-
由于在渲染用户基本信息时,需要渲染用户邮箱验证的状态,所以需要给用户模型补充email_active字段
-
补充完字段后,需要进行迁移。
2. 查询用户基本信息
3. 渲染用户基本信息
1.将后端模板数据传递到Vue.js
-
为了方便实现用户添加邮箱时的界面局部刷新
- 我们将后端提供的用户数据传入到
user_center_info.js
中
- 我们将后端提供的用户数据传入到
2.Vue渲染用户基本信息:user_center_info.html
添加和验证邮箱
添加邮箱后端逻辑
1. 添加邮箱接口设计和定义
1.请求方式
选项 | 方案 |
---|---|
请求方法 | PUT |
请求地址 | /emails/ |
2.请求参数
参数名 | 类型 | 是否必传 | 说明 |
---|---|---|---|
string | 是 | 邮箱 |
3.响应结果:JSON
字段 | 说明 |
---|---|
code | 状态码 |
errmsg | 错误信息 |
2. 添加邮箱后端逻辑实现
3. 判断用户是否登录并返回JSON
重要提示:
- 只有用户登录时才能让其绑定邮箱。
- 此时前后端交互的数据类型是JSON,所以需要判断用户是否登录并返回JSON给用户。
方案一:
- 使用Django用户认证系统提供的
is_authenticated()
方案二:
- 自定义返回JSON的
login_required
装饰器 - 在
meiduo_mall.utils.views.py
中
LoginRequiredJSONMixin
的使用
Django发送邮件的配置
1. Django发送邮件流程分析
send_mall()
方法介绍
-
位置:
- 在
django.core.mail
模块提供了send_mail()
来发送邮件。
- 在
-
方法参数:
send_mail(subject, message, from_email, recipient_list, html_message=None)
2. 准备发邮件服务器
1.点击进入《设置》界面
2.点击进入《客户端授权密码》界面
3.开启《授权码》,并完成验证短信
4.填写《授权码》
5.完成《授权码》设置
6.配置邮件服务器
发送邮箱验证邮件
重要提示:
- 发送邮箱验证邮件是耗时的操作,不能阻塞美多商城的响应,所以需要异步发送邮件。
- 我们继续使用Celery实现异步任务。
1. 定义和调用发送邮件异步任务
1.定义发送邮件任务
2.注册发邮件的任务:main.py
- 在发送邮件的异步任务中,我们用到了Django的配置文件。
- 所以我们需要修改celery的启动文件main.py。
- 在其中指明celery可以读取的Django配置文件。
- 最后记得注册新添加的email的任务
3.调用发送邮件异步任务
4.启动Celery
2. 生成邮箱验证链接
1.定义生成邮箱验证链接方法
2.配置相关参数
3.使用邮箱验证链接
验证邮箱后端逻辑
1. 验证邮箱接口设计和定义
1.请求方式
选项 | 方案 |
---|---|
请求方法 | GET |
请求地址 | /emails/verification/ |
2.请求参数:查询参数
参数名 | 类型 | 是否必传 | 说明 |
---|---|---|---|
token | string | 是 | 邮箱激活链接 |
3.响应结果:HTML
字段 | 说明 |
---|---|
邮箱验证失败 | 响应错误提示 |
邮箱验证成功 | 重定向到用户中心 |
2. 验证链接提取用户信息
3. 验证邮箱后端逻辑实现
验证邮箱的核心:就是将用户的email_active
字段设置为True
收货地址
用户地址的主要业务逻辑有:
- 展示省市区数据
- 用户地址的增删改查处理
- 设置默认地址
- 设置地址标题