项目布局

创建并进入项目文件夹:

$ mkdir flask-tutorial
$ cd flask-tutorial

接下来按照 安装简介 设置一个 Python 虚拟环境,然后为项目安装 Flask 。

本教程假定项目文件夹名称为 flask-tutorial ,本教程中代码块的顶端的文件名是基于该文件夹的相对名称。


Flask应用程序可以像单个文件一样简单。

hello.py
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello, World!'

然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码,把代码分为不同的模块,然后在需要的地方导入模块。本教程也会按这一方式管理代码。

教程项目将包含:

  • flaskr/ 一个包含应用程序代码和文件的python包。

  • tests/ ,包含测试模块的文件夹。

  • .venv/ ,这是一个安装了FlaskTM和其他依赖项的Python虚拟环境。

  • 告诉python如何安装项目的安装文件。

  • 版本控制配置,例如 git . 无论项目大小,应该习惯于对所有项目使用某种类型的版本控制。

  • 可能需要添加的任何其他项目文件。

最后,项目布局将如下所示:

/home/user/Projects/flask-tutorial
├── flaskr/
│   ├── __init__.py
│   ├── db.py
│   ├── schema.sql
│   ├── auth.py
│   ├── blog.py
│   ├── templates/
│   │   ├── base.html
│   │   ├── auth/
│   │   │   ├── login.html
│   │   │   └── register.html
│   │   └── blog/
│   │       ├── create.html
│   │       ├── index.html
│   │       └── update.html
│   └── static/
│       └── style.css
├── tests/
│   ├── conftest.py
│   ├── data.sql
│   ├── test_factory.py
│   ├── test_db.py
│   ├── test_auth.py
│   └── test_blog.py
├── .venv/
├── pyproject.toml
└── MANIFEST.in

那么应当忽略运行项目时产生的临时文件以及编辑代码时编辑 器产生的临时文件。忽略文件的基本原则是:不是你自己写的文件就可以忽略。举例来说,假设使用 git 来进行版本控制,那么使用 .gitignore 来设置应当忽略 的文件,.gitignore 文件应当与下面类似:

.gitignore
.venv/

*.pyc
__pycache__/

instance/

.pytest_cache/
.coverage
htmlcov/

dist/
build/
*.egg-info/

下面请阅读 应用设置 。