Mastering Flask Web Development 第二版项目教程
项目目录结构及介绍
Mastering-Flask-Web-Development-Second-Edition/
├── Chapter01/
├── Chapter02/
├── Chapter03/
├── Chapter04/
├── Chapter05/
├── Chapter06/
├── Chapter07/
├── Chapter08/
├── Chapter09/
├── Chapter10/
├── Chapter11/
├── Chapter12/
├── Chapter13/
├── LICENSE
├── README.md
- ChapterXX/: 每个章节对应的代码文件夹,包含该章节的示例代码。
- LICENSE: 项目的许可证文件。
- README.md: 项目的说明文件,包含项目的基本信息和使用说明。
项目的启动文件介绍
每个章节的代码文件夹中通常包含一个启动文件,例如 app.py
或 run.py
。以下是一个典型的启动文件示例:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)
- Flask 应用实例化:
app = Flask(__name__)
创建一个 Flask 应用实例。 - 路由定义:
@app.route('/')
定义了一个路由,当访问根路径时,返回 "Hello, World!"。 - 运行应用:
if __name__ == '__main__':
确保只有在直接运行脚本时才启动服务器。
项目的配置文件介绍
Flask 项目的配置文件通常是一个 Python 文件,例如 config.py
,其中包含应用的配置信息。以下是一个简单的配置文件示例:
import os
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard_to_guess_string'
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URI') or 'sqlite:///data.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
- SECRET_KEY: 用于会话加密的密钥。
- SQLALCHEMY_DATABASE_URI: 数据库连接字符串。
- SQLALCHEMY_TRACK_MODIFICATIONS: 是否跟踪对象的修改,通常设置为
False
以减少内存消耗。
在应用启动文件中,可以通过以下方式加载配置:
from flask import Flask
from config import Config
app = Flask(__name__)
app.config.from_object(Config)
通过这种方式,应用的配置信息可以从 config.py
文件中加载。