Skip to content

apanly/python3_flask_frame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Mar 1, 2020
bab5776 · Mar 1, 2020

History

1 Commit
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020
Mar 1, 2020

Repository files navigation

高可用高性能定制化 Python Flask MVC

缘由

Python在AI,AR VR这块使用越来越广泛。同时在Web方面也有很多成熟的框架。而我本身由于使用
Flask 比较多,个人认为就是比较简单,容易入手,可定制化强。这里我将我经过多个项目多次迭代的
自认为还可以的框架结构整理出来。方便自己可以更容易创建新项目。如果大家喜欢可以也拿去用用

QuickStart

  • Python3
  • pip install -r requirements.txt

启动

  • 启动web服务
    • export ops_config="local|production" && python manage_web.py runserver
  • 启动api服务
    • export ops_config="local|production" && python manage_api.py runserver
  • 启动Job
    • export ops_config="local|production" && python manage_job.py runjob -m test
  • 查看Job列表
    • export ops_config="local|production" && python manage_job.py joblist

预览截图

Web

  • 登录
  • 仪表盘

Api

  • Api

Job

  • Job

代码目录结构

.
├── application.py  封装的Flask的全局变量,包括app,数据库等
├── common 存放公用部分
│   ├── libs  公用方法或者类
│   ├── models 所有的数据库model
├── config 配置文件
│   ├── base_setting.py   基础配置
│   ├── develop_setting.py 开发环境
│   ├── local_setting_demo.py 本地开发环境配置demo
│   └── production_setting.py 生产环境的配置
├── docs 文档存放
│   ├── Mysql.MD  所有数据库变更必须在这里记录
├── jobs 定时任务
│   ├── bin
│   └── tasks 所有定时任务都存放在这里
├── router 路由配置入口
│   ├── www.py 对应web的路由配置
│   └── api.py 对应api的路由配置
├── manage_web.py web启动入口
├── manage_job.py job定时器启动入口
├── manage_api.py api启动入口 (如果有api的话)
├── requirements.txt python 扩展
├── uwsgi.ini 生产环境uwsgi
├── web  HTTP存放
│   ├── controllers 所有的C层放在这里
│   ├── interceptors 拦截器相关
│   ├── static 静态文件
│   └── templates 模板文件

Flask参考文档

问题处理

  • 安装 MySQL-python ,结果出错 ImportError: No module named 'ConfigParser'
在 Python 3.x 版本后,ConfigParser.py 已经更名为 configparser.py 所以出错!
解决方法:pip install mysqlclient

About

高可用高性能定制化 Python Flask MVC http://www.54php.cn

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published