github.com/yangyuexion…
Flask_BestPractices
├── app(应用)
│ ├── __init__.py
│ ├── all_reference.py(通用统一导入)
│ ├── api
│ │ ├── __init__.py(注册url)
│ │ ├── method_view_demo(MethodView使用例子)
│ │ │ ├── __init__.py
│ │ │ └── method_view_demo.py
│ │ ├── restful_demo(flask_restful使用例子)
│ │ │ ├── __init__.py
│ │ │ └── restful_demo.py
│ │ └── route_demo(flask路由使用例子)
│ │ ├── __init__.py
│ │ └── route_demo.py
│ ├── controllers(其他业务)
│ │ ├── __init__.py
│ │ ├── other_module_01
│ │ │ ├── __init__.py
│ │ │ └── module_01.py
│ │ ├── other_module_02
│ │ │ ├── __init__.py
│ │ │ └── module_02.py
│ │ └── other_module_03
│ │ ├── __init__.py
│ │ └── module_03.py
│ ├── models(模型)
│ │ ├── __init__.py
│ │ └── admin
│ │ └── models.py
│ ├── static(静态文件(Js,Css,Img))
│ │ ├── flask.jpg
│ │ └── images
│ │ └── flask.jpg
│ └── templates(模版文件(HTML)用于模版渲染(前后分离不需要,这里只作为一个例子))
│ ├── index01.html
│ ├── index02.html
│ └── index03.html
├── common(公共文件分类)
│ ├── __init__.py
│ ├── interceptors(路由钩子)
│ │ ├── ApiHook.py(前台应用拦截处理器(即:访问api开头的url时做的逻辑处理))
│ │ ├── AppHook.py
│ │ ├── CmsHook.py(管理后台拦截处理器(即:访问cms开头的url时做的逻辑处理))
│ │ └── __init__.py
│ └── libs
│ ├── BaseModel.py(ORM基类)
│ ├── __init__.py
│ ├── api_result.py(统一返回json格式规范)
│ ├── customException.py(自定义异常)
│ └── tools.py(工具)
├── config(配置文件)
│ ├── __init__.py
│ ├── config.py
│ ├── dev.ini
│ └── pro.ini
├── ExtendRegister(扩展统一注册)
│ ├── __init__.py
│ ├── bp_register.py(蓝图)
│ ├── conf_register.py(配置文件)
│ ├── db_register.py(数据库)
│ ├── excep_register.py(异常处理)
│ └── hook_register.py(路由钩子拦截器)
├── logs
│ ├── __init__.py
│ └── tb.log
├── migrations(数据迁移文件(会在初始化迁移环境后生成))
├── tasks(定时任务/异步任务)
│ ├── APSchedulerTasks
│ │ └── clear_logs.py
│ ├── CeleryAsyncTasks
│ │ ├── __init__.py
│ │ ├── celeryconfig.py
│ │ └── main.py
│ └── __init__.py
├── test(测试)
│ ├── __init__.py
│ ├── excep_test.py
│ ├── req_test.py
│ ├── test_celery.py
│ ├── test_data.py
│ └── test_env.py
├── ApplicationExample.py(应用实例)
├── LICENSE
├── manage.py(脚本命令文件(初始化迁移环境,迁移数据库,映射数据库等一系列的操作))
├── Pipfile(环境依赖)
├── Pipfile.lock
├── README.md
├── run.py(启动文件)
└── test_run.py(调试启动文件(可以忽略或者删除))