项目布局

创建一个项目目录并进入

$ 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/,一个安装了 Flask 和其他依赖项的 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
.venv/

*.pyc
__pycache__/

instance/

.pytest_cache/
.coverage
htmlcov/

dist/
build/
*.egg-info/

继续到 应用程序设置