一套基于flask,vue的前后端分离的解决方案(献给从事web开发的pythoner)。
人生苦短,我用python!
- 2019.04.03 增加事务,验证装饰器,demo在UsersController下
- 2019.05.30 增加全局异常日志记录及接口异常回溯描述返回
- 2019.05.30 增加验证描述万国语言支持
- 2019.07.08 模型一键生成,继承模型进行后封装增删改查通用方法,减少操作orm的难度
- 2019.11.28 启动分类加载,减少不必要的损耗,默认使用文本日志,防止不用test.sql的人导致的插入报错
- 2019.12.03 增加数据库插入等事件
- 2019.07.08版本后将使用sqlalchemy而不是flask_sqlalchemy充当orm
- 一键生成基础模型 sqlacodegen mysql+pymysql://root:[email protected]:3306/test > Model.py
一.后端flask程序:
1.三个入口文件:
json api入口启动run.py
restful api入口启动 restfulRun.py
websocket入口启动 socketRun.py
2.运行流程
run.py->
app/__init__.py ->
app/Middleware/XSSProtection.py(抽象一层中间层用于处理一些统一验证的逻辑,根据需求进行添加)
app/Controllers/UsersController.py(接收前端json参数并分发给模型层处理,参考flask request模块接参方法)->
app/Models/Users.py(业务逻辑书写成静态方法或类方法给控制层调用)->
app/Controllers/UsersController.py(接收模型层返回值返回)
二.前端vue程序:
1.安装,运行,打包:
采用webpack,vue,mint-ui技术的前端解决方案
npm install(建议使用淘宝源 cnpm install)
npm run dev(启动测试环境)
npm run build(打包成浏览器识别的语法)
2.一些重要的文件夹及文件:
路由层:src/router/index.js
视图层:src/views/*
组件层:src/components/*
api层:src/api/*
资源层:src/assets/*
仓储层(vuex):src/store/*
工具层:src/utils/*