项目结构原则
Flask 不同于大多数的Web框架,它并没有特定的组织方式,项目机构完全由开发者决定。但是项目结构都有一定的原则。以下原则可以参考:
- 层次不要太深。建议目录深度不超过4级。
- 层次不要太平。尽量使用目录代替模块文件。
- 善用蓝图。达到良好的扩展性。
- 项目结构要在开发过程中慢慢改进。
项目结构推荐
参照《Flask Web开发》这本书,推荐如下项目结构:
|-flasky
|-app/
|-templates/
|-static/
|-main/
|-__init__.py
|-errors.py
|-forms.py
|-views.py
|-__init__.py
|-email.py
|-models.py
|-migrations/
|-tests/
|-__init__.py
|-test*.py
|-venv/
|-requirements.txt
|-config.py
|-manage.py
这种结构有4个顶级文件夹:
- Flask程序一般都保存在名为app的包中;
- 和之前一样,migrations文件夹包含数据库迁移脚本;
- 单元测试编写在tests包中;
- 和之前一样,venv文件夹包含Python虚拟环境。
同时还创建了一些新文件:
- requirements.txt列出了所有依赖包,便于在其他电脑中重新生成相同的虚拟环境;
- config.py存储配置;
- manage.py用于启动程序以及其他的程序任务。
为了帮助你完全理解这个结构,下面我通过一个实例来练习使用这种项目结构。
项目实例
首先参照上面介绍的结构创建项目,项目结构如下
结束
后续我再介绍如何将这个项目填充内容,实现使用 Ansible 的 web管理系统。感兴趣的朋友可持续关注,欢迎点赞,谢谢。