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 用于启动程序以及其他的程序任务。