本教程将引导您创建一个名为 Flaskr 的基本博客应用程序。用户可以注册、登录、创建帖子以及编辑或删除自己的帖子,并且打包该应用程序,以便在其他计算机上安装。
本教程假设阅读者已熟悉 Python。Python 的官方文档教程是一个很好的学习或复习方法。
虽然本教程旨在提供一个良好的起点,但它并没有涵盖 Flask 的所有功能。请查看快速入门教程,了解 Flask 可以做什么,然后深入文档了解更多信息。本教程仅使用 Flask 和 Python 本身提供的内容。在另一个项目中,您可能会决定使用扩展或其他库来简化某些任务。
Flask 非常灵活,它不要求使用任何特定的项目或代码布局。然而,在开始时,使用更有结构化的方法是有帮助的。这意味着本教程需要预先准备一些样板,但这样做是为了避免新开发人员遇到的许多常见陷阱,而且它创建了一个易于扩展的项目。一旦对 Flask 更加熟悉,就可以走出这种结构,充分利用 Flask 的灵活性。
项目布局
创建项目目录并进入该目录:
C:\>mkdir flask-tutorial
C:\>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/,一个 Python 虚拟环境,其中安装了 Flask 和其他依赖项。
● 告诉 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/
├── setup.py
└── MANIFEST.in
复制
如果使用版本控制,则应忽略在运行项目时生成的以下文件,基于使用的编辑器,可能还有其他文件。一般来说,没有写的文件会被忽略。例如,使用 git:
.gitignore
venv/
*.pyc
__pycache__/
instance/
.pytest_cache/
.coverage
htmlcov/
dist/
build/
*.egg-info/
复制
原文:
https://flask.palletsprojects.com/en/2.0.x/tutorial/layout/