项目排版
首先创建项目目录:
mkdir flask-tutorial
cd flask-tutorial
接下来按照前一篇讲过的安装Flask步骤进行安装,并新建一个虚拟环境。
Flask应用可以简单到使用一个单文件,例如hello.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
不过一般项目都会越来越大,把代码放到一个文件中将变得难以维护。Python项目使用包来组织代码,并放入不同模块,以供调用。
项目目录一般应包括如下部分:
flaskr/
,包含你应用代码和文件的python包tests/
,包含测试模块的目录venv
,对应项目的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/
├── setup.py
└── MANIFEST.in
如果使用版本控制,当运行项目时,下列生成的文件需要忽视掉。也有一些基于使用的编辑器的文件,忽略那些不用自己写代码的文件,例如,git忽略文件:
venv/
*.pyc
__pycache__/
instance/
.pytest_cache/
.coverage
htmlcov/
dist/
build/
*.egg-info/