一、Flask 基础知识
-
什么是 Flask?
-
Flask 是一个基于 Python 的轻量级 Web 框架(微框架)。
-
特点:核心代码简洁,给予开发者更多选择空间。
-
与 Django 对比:
-
Django 创建空项目生成多个文件,Flask 仅需一个文件即可实现简单应用(如 "Hello, World!")。
-
Flask 不预设过多默认配置,修改更灵活。
-
-
-
核心模块
-
Jinja2:模板引擎,用于动态生成 HTML。
-
Werkzeug:处理 HTTP 请求和响应,封装 Request 和 Response 对象。
-
安装时包含六个模块,官网常突出以上两个。
-
-
MVC/MTV 架构
-
定义:一种软件架构设计思想,核心是解耦。
-
组成部分:
-
Model:负责数据操作与存储。
-
View:负责页面展示。
-
Controller/Template:负责逻辑处理。
-
-
优势:代码模块化,维护清晰,修改某部分不影响其他模块。
-
-
Flask 项目初始化
-
安装:运行
pip install flask
。 -
基本代码结构:
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "Hello, World!" if __name__ == '__main__': app.run()
-
启动方式:直接运行 Python 文件,或通过命令行(如
python manage.py runserver --reload --debug
)。
-
-
请求流程
-
流程:浏览器 → 路由器(Router) → 视图函数(View Function) → 模型(Model,可用假数据) → 模板(Template) → Response → 浏览器。
-
特点:初期可省略模型,使用假数据简化开发。
-
二、路由与参数
-
路由定义
-
通过
@app.route('/path')
或蓝图(Blueprint)注册路由。
-
-
参数类型
-
路径参数:出现在 URL 路径中,如
/user/<username>
,默认视为字符串。 -
GET 请求参数:URL 中
?
后的参数,如?key=value
。 -
POST 请求参数:在请求体(Body)中。
-
-
转换器(Converter)
-
作用:约束路径参数的格式。
-