卷柏小站

← 返回文章列表

关于Flask的MSV描述

发布时间:2026-05-14 阅读 · 62



Flask MSV架构工程目录(MVC架构在Flask中的具体实现,内部可简称MSV)

flask-tutorial/                # 项目根目录
├──.venv/                      # 虚拟环境目录
├── app/                       # 业务应用主包目录
│   ├── __init__.py            # 应用工厂入口文件
│   ├── config/                # 应用核心配置以及安全配置目录
│   │   ├── config.py          # 应用核心配置文件
│   │   ├── security.py        # 全局安全配置文件:CORS、CSRF、XSS、CSP、密钥、加密策略等
│   │   ├── startup.py         # 应用启动辅助文件:静态版本号、中间件等
│   │   └── extensions.py      # 第三方扩展统一注册文件:db、jwt、limiter、cors等
│   ├── models/                # 模型层目录(M):定义 ORM 表结构、封装基础 CRUD 操作方法
│   ├── services/              # 服务层目录(S):业务逻辑、事务控制、多模型组合调用
│   ├── views/                 # 视图控制层目录(V):蓝图路由、请求接收、页面跳转
│   ├── templates/             # 模板展示层目录:负责Jinja2 页面渲染 页面渲染
│   ├── static/                # 静态资源目录:CSS/JS/图片等
│   └── utils/                 # 通用工具目录:纯工具函数、无业务无核心逻辑
├── tests/                     # 测试代码目录
├── logs/                      # 日志目录
├── data/                      # 业务运行时数据(不打包;服务器持久化;docker读写):运行时缓存/临时文件/用户上传/可下载文件等
├── deploy/                    # 部署运维层目录(Docker/Nginx/环境/启动)
│   ├── nginx/                 # Nginx 配置目录
│   │   ├── nginx.conf         # Nginx 主配置文件
│   │   └── ssl/               # SSL 证书存放目录
│   ├── docker/                # Docker 相关配置目录
│   │   ├── gunicorn.py        # Gunicorn 启动配置文件
│   │   ├── entrypoint.sh      # Docker 容器入口脚本
│   │   ├── Dockerfile         # Docker 镜像构建配置文件
│   │   └── docker-compose.yml # Docker Compose 配置文件
│   └── envs/                  # 多环境变量配置目录
│       ├── .env.dev           # 开发环境变量配置文件
│       └── .env.prod          # 生产环境变量配置文件    
├── .gitignore                 # Git 忽略文件
├── run.py                     # 开发环境启动文件(python run.py)
├── wsgi.py                    # 生产环境启动入口(Gunicorn 挂载)
├── README.md                  # 项目说明书
├── MANIFEST.in                # Python 打包资源清单
└── pyproject.toml             # 项目依赖、打包配置



MSV分层请求流转流程

请求 → 视图(V) → 服务(S) → 模型(M) → 数据库(DB)
响应 ← 视图(V) ← 服务(S) ← 模型(M) ← 数据库(DB)