项目结构¶
创建一个项目目录并进入:
$ mkdir flask-tutorial
$ cd flask-tutorial
然后按照 安装说明 来建立一个 Python 虚拟环境并安装 Flask。
从现在开始,这个教程会假定你一直在 flask-tutorial
目录下工作。每一个代码块顶部的文件名都相对于这个目录。
一个 Flask 应用可以简单到只有一个文件。
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/
继续阅读 应用设置。