快乐的鲸鱼

Flask 项目基本目录结构

2016/01/25

Flask 并不强制要求大型项目使用特定的组织方式,程序的结构由开发者决定。不过这里还是介绍一种常用的项目结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
├── LICENSE
├── README.md
├── app
│   ├── __init__.py
│   ├── email.py
│   ├── main
│   ├── models.py
│   ├── static
│   └── templates
├── config.py
├── manage.py
├── migrations
│   ├── README
│   ├── alembic.ini
│   ├── env.py
│   ├── script.py.mako
│   └── versions
├── requirements.txt
├── tests
│   ├── __init__.py
│   ├── test_basics.py
│   └── test_user_model.py
└── venv
├── bin
├── include
├── lib
└── pip-selfcheck.json

这种结构有4个顶级文件夹:

  • Flask 程序一般都保存在名为app的包中;
  • migrations 文件夹包含数据库迁移脚本;
  • 单元测试在tests 包中;
  • venv文件夹包含python虚拟环境。

同时还创建一些新文件:

  • requirement.txt 列出了所有的依赖包;
  • config.py 存储配置;
  • manage.py 用于启动程序以及其他的程序任务。
CATALOG