Flask是轻量灵活的Python Web框架,适合初学者与中小型项目;支持URL参数、查询参数、表单及JSON数据处理;可通过Jinja2渲染模板并管理静态文件;内置session实现登录状态控制。

Flask 是一个轻量、灵活的 Python Web 框架,适合初学者快速上手,也足够强大支撑中小型项目。它不强制约定目录结构或数据库方案,让你专注逻辑本身,而不是被框架规则牵着走。
安装与第一个应用
用 pip 安装最简单:
pip install flask
新建 app.py,写入以下代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)
运行 python app.py,访问 http://127.0.0.1:5000 就能看到响应。debug=True 启用调试模式,修改代码后自动重载,错误页面还带交互式调试器。
立即学习“Python免费学习笔记(深入)”;
处理 URL 参数和表单数据
Flask 通过装饰器灵活接收不同类型的请求数据:
-
URL 路径参数:用
@app.route('/user/,函数加参数') username即可获取 -
查询参数(?key=value):用
request.args.get('key') -
POST 表单数据:用
request.form.get('field_name'),需确保 HTML 表单 method="post" -
JSON 请求体:用
request.get_json(),记得设置请求头Content-Type: application/json
渲染模板与静态文件
把 HTML 交给 Flask 渲染,避免字符串拼接。按约定创建目录:
your_project/
app.py
templates/
index.html
static/
style.css
在 index.html 中可用 Jinja2 语法插值或循环:
Welcome, {{ name }}!
- {{ item }}
{% for item in items %}
{% endfor %}
视图中调用:render_template('index.html', name='Alice', items=['a', 'b'])。CSS、JS 等静态资源统一放在 static 目录,模板里用 {{ url_for('static', filename='style.css') }} 引用。
简单用户登录示例(含会话管理)
Flask 自带 session 支持,需设置 secret_key 才能加密签名:
app.secret_key = 'your-secret-key-here' # 开发时可随机生成
模拟登录逻辑:
- GET 请求显示登录表单
- POST 提交后校验用户名密码(实际项目请用哈希+盐值存储)
- 验证成功则写入
session['user'] = username - 后续页面检查
if 'user' in session:控制访问权限
退出登录只需 session.pop('user', None)。










