暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Flask + Ant Vue 实战(3)-脚手架说明

小儿来一壶枸杞酒泡茶 2021-02-24
724

前言

脚手架,顾名思义就是搭建好一个框架,你可以直接开机即用,后续专注于业务逻辑开发即可。基于此搭建一个属于自己脚手架也是必要,方便自己后续其他项目开发,也方便统一开发框架风格。

一个脚手架通常需要做的事情

  • Token令牌:使用JWT令牌机制,可用于单页面应用程序,合适做前后端分离等应用
  • 统一全局异常处理
  • 使用表单验证相关的表单提交参数
  • 统一异常返回格式,方便前端开发
  • 更详细log日志记录,记录整个请求链路相关记录,也可以记录自己定义记录
  • 数据库的使用和简单封装
  • 中间件中做相关的鉴权,认证,限流等措施

本节涉及知识点:

  •  配置文件读取解析

  • 全局异常处理器,统一API返回json数据格式接口规范。
  • 前端后分类下的跨域处理
  • 从钩子函数中定义中间件(JWT鉴权中间件,日志中间件)
  • 第三方插件的应用
  • 封装WTF进行绑定参数校验
  • 定义日志追踪处理,并写入本地文件
  • 动导入Api蓝图和红图模块
  • PEEWEE ORM数据库模型生成和相关CURD使用。
  • 多应用模式,多个应用整合到一个Python进程启动。
  • 整合Celery进行异步
  • 使用信号解耦业务

规划后端脚手架目录结构

├─backend
│  ├─api 后台admin对应的所有接口API目录
│  ├─config 后台admin专属的配置文件信息
│  ├─ext 后台admin专属使用第三方的插件信息
│  ├─middleware 后台admin专属中间件消息(使用的其实Hook来实现)
│  ├─models 后台admin专属数据库对应的模型
│  ├─services 后台admin专属数据库逻辑操作处理
│  └─utils 后台admin专属对应的一些工具类
│  app.py 后台admin app服务对象
├─common
│  ├─exc 公共模块下全局异常处理器
│  ├─ext 公共模块下全局的公共第三方插件对象
│  ├─helper 公共模块一些工具类封装
│  ├─libs 公共模块其他类库
│  └─validators 公共模块下WTF表单验证处理
└─frontend 可能后期会用到的前端API模块(多应用模式举例使用到)
│  app.py frontend的app服务对象
main.py 整个服务启动的入口文件

项目说明:

backend作为一个后台的模块统一管理我们的admin后台使用到相关的api服务接口和app对象。

frontend 目前暂时为空,可能后续延伸出来就是为小程序前端等提供相关API。目前定义仅用于后续多应用的演示。

main服务启动整个单体应用服务进程。每个独立的服务系统模块通过app对象放到导入合并到一个服务上。

END

小钟同学 | 文  【原创】【转载请联系本人】| QQ:308711822


文章转载自小儿来一壶枸杞酒泡茶,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论