前言
脚手架,顾名思义就是搭建好一个框架,你可以直接开机即用,后续专注于业务逻辑开发即可。基于此搭建一个属于自己脚手架也是必要,方便自己后续其他项目开发,也方便统一开发框架风格。
一个脚手架通常需要做的事情
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




