Flask 轻量级 Python Web 框架 - 入门与进阶指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Flask?Python Web 框架完全指南

Flask 简介

Flask 是一个基于 Python 的轻量级 Web 框架,专为构建 Web 应用和 REST API 而设计。它提供了简单而灵活的结构,让你既能快速搭建原型,也能开发功能完整的 Web 应用。Flask 基于 Werkzeug WSGI 工具包,并使用 Jinja2 模板引擎。

Flask 由 Armin Ronacher 于 2010 年创建,凭借其“小而精”的设计理念迅速流行。与那些重量级框架不同,Flask 只提供最核心的功能,让开发者可以自由选择适合自己项目的组件。

Flask 的核心特性

轻量且可扩展

Flask 遵循微框架原则,提供基础功能,同时通过插件和扩展轻松扩展。

内置路由与请求处理

框架提供直观的路由系统,支持多种 HTTP 方法和 URL 参数。

Jinja2 模板引擎支持

集成强大的 Jinja2 模板系统,方便处理 HTML 模板和动态内容。

构建 REST API 的能力

Flask 非常适合构建 RESTful API,支持 JSON 响应和灵活的 HTTP 方法处理。

丰富的扩展生态

大量扩展可用于数据库操作、用户认证、表单处理等功能。

兼容 Python 3.7+

Flask 支持现代 Python 版本,并遵循最佳开发实践。

安装与配置

通过 pip 安装

pip install flask

验证安装

python -m flask --version

创建 app.py 文件并启动

export FLASK_APP=app.py
flask run

Windows 系统:

set FLASK_APP=app.py
flask run

创建你的第一个应用

简单的 app.py 示例

from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
    return "欢迎使用 Flask!"

if __name__ == '__main__':
    app.run(debug=True)

启动应用

flask run

应用将在 http://localhost:5000/ 上运行

路由与 URL 处理

基本路由

@app.route("/user/<username>")
def show_user_profile(username):
    return f"用户资料:{username}"

带类型约束的路由

@app.route("/post/<int:post_id>")
def show_post(post_id):
    return f"文章 #{post_id}"

@app.route("/user/<path:subpath>")
def show_subpath(subpath):
    return f"子路径:{subpath}"

支持的参数类型

  • string - 字符串(默认)
  • int - 整数
  • float - 浮点数
  • path - 包含 "/" 的字符串
  • uuid - UUID 字符串

处理 HTTP 方法

多种方法处理

@app.route("/data", methods=["GET", "POST", "PUT", "DELETE"])
def handle_data():
    if request.method == "POST":
        return "数据已创建"
    elif request.method == "PUT":
        return "数据已更新"
    elif request.method == "DELETE":
        return "数据已删除"
    return "获取数据"

模板处理

推荐