项目布局

创建并进入项目文件夹:

  1. $ mkdir flask-tutorial
  2. $ cd flask-tutorial

接下来按照 安装简介 设置一个 Python 虚拟环境,然后为项目安装 Flask 。

本教程假定项目文件夹名称为 flask-tutorial ,本教程中代码块的顶端的文件名是基于该文件夹的相对名称。


一个最简单的 Flask 应用可以是单个文件。

hello.py

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def hello():
  5. return 'Hello, World!'

然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。Python 项目使用 来管理代码,把代码分为不同的模块,然后在需要的地方导入模块。本教程也会按这一方式管理代码。

教程项目包含如下内容:

  • flaskr/ ,一个包含应用代码和文件的 Python 包。

  • tests/ ,一个包含测试模块的文件夹。

  • venv/ ,一个 Python 虚拟环境,用于安装 Flask 和其他依赖的包。

  • 告诉 Python 如何安装项目的安装文件。

  • 版本控制配置,如 git 。不管项目大小,应当养成使用版本控制的习惯。

  • 项目需要的其他文件。

最后,项目布局如下:

  1. /home/user/Projects/flask-tutorial
  2. ├── flaskr/
  3. ├── __init__.py
  4. ├── db.py
  5. ├── schema.sql
  6. ├── auth.py
  7. ├── blog.py
  8. ├── templates/
  9. ├── base.html
  10. ├── auth/
  11. ├── login.html
  12. └── register.html
  13. └── blog/
  14. ├── create.html
  15. ├── index.html
  16. └── update.html
  17. └── static/
  18. └── style.css
  19. ├── tests/
  20. ├── conftest.py
  21. ├── data.sql
  22. ├── test_factory.py
  23. ├── test_db.py
  24. ├── test_auth.py
  25. └── test_blog.py
  26. ├── venv/
  27. ├── setup.py
  28. └── MANIFEST.in

如果使用了版本控制,那么应当忽略运行项目时产生的临时文件以及编辑代码时编辑器产生的临时文件。忽略文件的基本原则是:不是你自己写的文件就可以忽略。举例来说,假设使用 git 来进行版本控制,那么使用 .gitignore 来设置应当忽略的文件, .gitignore 文件应当与下面类似:

.gitignore

  1. venv/
  2. *.pyc
  3. __pycache__/
  4. instance/
  5. .pytest_cache/
  6. .coverage
  7. htmlcov/
  8. dist/
  9. build/
  10. *.egg-info/

下面请阅读 应用设置