Flask 程序的基本结构

项目结构原则

Flask 不同于大多数的Web框架,它并没有特定的组织方式,项目机构完全由开发者决定。但是项目结构都有一定的原则。以下原则可以参考:

  1. 层次不要太深。建议目录深度不超过4级。
  2. 层次不要太平。尽量使用目录代替模块文件。
  3. 善用蓝图。达到良好的扩展性。
  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用于启动程序以及其他的程序任务。

为了帮助你完全理解这个结构,下面我通过一个实例来练习使用这种项目结构。

项目实例

首先参照上面介绍的结构创建项目,项目结构如下


ProjectStruct.png

结束

后续我再介绍如何将这个项目填充内容,实现使用 Ansible 的 web管理系统。感兴趣的朋友可持续关注,欢迎点赞,谢谢。

你可能感兴趣的:(Flask 程序的基本结构)