flask项目2


  • flask项目2
  • 一. 数据库结构
  • 1. 表结构分析 (重点)
  • 2. 构建表结构
  • 二. 集成日志
  • 三. 路由基本实现
  • 1. 根路由实现
  • 2. favicon设置
  • 四. 注册登录
  • 1.开发流程
  • 2.获取图片验证码 (重点)
  • 3. 获取短信验证码 (重点)
  • 4. 第三方短信集成
  • 5. 用户注册
  • 快捷键


一. 数据库结构

1. 表结构分析 (重点)

python flask 后端目录结构_表结构

2. 构建表结构
  1. 项目和数据库模型文件建立关联
  2. 生成表 进行数据迁移 python main.py mc migrate -m "xx" python main.py mc upgrade
  3. 导入测试数据 source 数据库文件路径

python flask 后端目录结构_python flask 后端目录结构_02

二. 集成日志

  • 作用: 记录web应用运行状态

python flask 后端目录结构_表结构_03

  • 日志细节:
  • 手动创建存放日志的文件夹
  • git管理logs文件夹, 但是不管理log文件(当前计算机生成的日志不需要和其他同事同步)
  • git不会管理空文件夹, 可以添加.keepgit文件来进行文件占位
  • 建议使用flask封装的logging语法(会显示具体的错误位置)

python flask 后端目录结构_表结构_04

三. 路由基本实现

1. 根路由实现
  • 开发新闻网站, 新闻数据需要SEO, 优先选择后端渲染
  • 首页文件拖入模板文件夹, 使用render_templates进行渲染

python flask 后端目录结构_表结构_05

2. favicon设置
  1. 设置网站图标 (浏览器会自动向网站发起/favicon.ico请求, 后端只需要实现该路由,并返回图片即可)
  2. flask中封装了语法send_static_file 可以获取静态文件的内容, 封装为响应对象, 并根据内容设置content-type

python flask 后端目录结构_python flask 后端目录结构_06

四. 注册登录

1.开发流程
  • 产品经理会牵头开产品研讨会, 展示产品功能, 产品需求(产品说明文档, 产品交互文档)
  • 开发人员进行需求分析(项目经理, 前后端开发)
  • 构建表结构
  • 设计接口文档 (和前端协商接口, 一般由后端来完成)
  • 根据接口文档, 前后端进行同步开发 (后端实现视图函数, 前端实现页面)
  • 开发完接口, 使用POSTMAN进行测试
  • 如果是后端渲染, 可能还需要进行前后端联调

python flask 后端目录结构_表结构_07

2.获取图片验证码 (重点)

python flask 后端目录结构_python flask 后端目录结构_08

  • 获取图片验证码 需要安装第三方包 pip install pillow
  • 接口文档

python flask 后端目录结构_python flask 后端目录结构_09

  • 实现过程
  • 获取参数
  • 校验参数
  • 生成图片验证码(图片+文字)
  • 保存验证码文字和图片key redis 方便设置过期时间,性能也好,键值关系满足需求
  • 返回图片 自定义响应对象

python flask 后端目录结构_python flask 后端目录结构_10

3. 获取短信验证码 (重点)

python flask 后端目录结构_表结构_11

  • 接口文档

python flask 后端目录结构_验证码_12

  • 获取参数
  • 校验参数
  • 根据图片key取出验证码文字
  • 校验图片验证码(文字)
  • 发送短信
  • 保存短信验证码
  • json返回发送结果

python flask 后端目录结构_验证码_13

4. 第三方短信集成
  • 容联云平台

python flask 后端目录结构_验证码_14

  • 集成短信

python flask 后端目录结构_flask_15

5. 用户注册
快捷键

python flask 后端目录结构_验证码_16