定义
先让大家明确一些术语,方便后面的讨论。仓库/版本库 - 应用程序所在的基础文件夹。习惯上指笨笨控制系统。在文章中提到时,指的是项目的根目录。
包 - 指应用代码的一个Python包。
模块 - 一个模块指能被其他的Python文件导入的一个Python文件。一个包基本上是打包在一起的多个模块。
常用扩展(Extensions)
Flask作为微框架(microframework),在开发过程中会经常使用各种扩展包。以下是一些常用扩展包的简介。Flask-SQLAlchemy - 封装了SQLAlchemy,提供ORM
Flask-Migrate - 处理SQLAlchemy数据库的迁移(migrations)
Flask-Script - 支持在Flask里编写额外的脚本
Flask-Bootstrap - 封装了Bootstrap框架
Flask-Login - 提供账号session管理
Flask-WTF - 封装了WTForms,提供表单功能
Flask-RESTful - 提供快速构建RESTAPIs的能力
目录结构
一般Flask的项目结构如下:
├── README.md
├── app
│ ├── __init__.py
│ ├── api
│ │ ├── __init__.py
│ │ └── views.py
│ ├── auth
│ │ ├── __init__.py
│ │ ├── forms.py
│ │ ├── templates
│ │ │ └── auth.html
│ │ └── views.py
│ ├── ext