当前位置: 首页 > news >正文

Flask 路由与视图函数绑定机制

Flask 路由与视图函数绑定机制

核心概念

在 Flask 框架中,路由(Route) 是连接 URL 路径与 Python 函数的桥梁,通过 @app.route() 装饰器实现这种绑定关系,使得当用户访问特定 URL 时,对应的函数会被自动调用。

工作原理

  1. 装饰器绑定

    • 使用 @app.route('URL路径') 装饰器修饰函数
    • 装饰器会在 Flask 应用初始化时,将函数与指定 URL 路径关联起来
    • 内部维护一张"URL路径→函数"的映射表
  2. 请求处理流程

    用户访问 URL → Flask 解析路径 → 查找映射表 → 执行对应函数 → 返回结果给浏览器
    

代码示例

from flask import Flask
app = Flask(__name__)# 将根路径 '/' 与 hello_world() 函数绑定
@app.route('/')
def hello_world():return 'Hello World!'# 将 '/user' 路径与 show_user() 函数绑定
@app.route('/user')
def show_user():return 'This is user page'if __name__ == '__main__':app.run()  # 启动服务器,开始监听请求

访问效果

访问的URL触发执行的函数浏览器显示内容
http://127.0.0.1:5000/hello_world()Hello World!
http://127.0.0.1:5000/usershow_user()This is user page

关键特点

  • 无需显式调用:视图函数不需要手动调用,由 Flask 框架在收到对应请求时自动触发
  • 灵活的路径配置:可通过装饰器为不同函数配置不同路径
  • 开发便捷性:开发者只需关注"访问该路径时返回什么内容",无需处理底层请求解析逻辑

扩展知识

  • 一个函数可以绑定多个 URL 路径
    @app.route('/')
    @app.route('/home')
    def home():return 'Welcome to homepage'
    
  • 支持动态 URL 路径(带参数)
    @app.route('/user/<username>')
    def show_profile(username):return f'User: {username}'
    

通过这种机制,Flask 实现了 URL 路径与业务逻辑的解耦,让 Web 开发更加直观高效。

http://www.lryc.cn/news/625745.html

相关文章:

  • 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET... 拒绝访问
  • 概率论基础教程第4章 随机变量(四)
  • Android Cordova 开发 - Cordova 嵌入 Android
  • GaussDB 中 alter default privileges 的使用示例
  • 从H.264到AV1:音视频技术演进与模块化SDK架构全解析
  • Meta首款AR眼镜Hypernova呼之欲出,苹果/微美全息投入显著抢滩市场新增长点!
  • 搭建最新--若依分布式spring cloudv3.6.6 前后端分离项目--步骤与记录常见的坑
  • 磨砂玻璃登录页面使用教程 v0.1.1
  • 可靠性测试:软件稳定性的守护者
  • t12 low power design: power plan脚本分享(4) power stripe
  • 9.Ansible管理大项目
  • MCP(模型上下文协议):是否是 AI 基础设施中缺失的标准?
  • Flink原理与实践:第一章大数据技术概述总结
  • Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
  • 构建自主企业:AgenticOps 的技术蓝图
  • VS Code 终端完全指南
  • Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的多语言翻译与文化适应性优化
  • Transformer十问
  • Java试题-选择题(11)
  • OpenHarmony 之多模态输入子系统源码深度架构解析
  • 记录一次问题,点击详情时设置Editor不可用,点击修改时也不可用了
  • Node.js 在 Windows Server 上的离线部署方案
  • 如何将任意文件一键转为PDF?
  • Markdown to PDF/PNG Converter
  • UniApp 微信小程序之间跳转指南
  • 专题:2025母婴行业消费洞察与分龄营养趋势报告|附40 +份报告PDF、交互图表数据汇总下载
  • 微信小程序实现蓝牙开启自动播放BGM
  • Java技术总监的成长之路(技术干货分享)
  • CAD图纸如何批量转换成PDF格式?
  • 【动态规划:路径问题】最小路径和 地下城游戏