项目布局¶
创建并进入项目文件夹:
$ 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/
下面请阅读 应用设置 。