You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Flask应用中如何将Jinja渲染的HTML元素id传递至后端app.py

Flask获取前端动态ID的实现方案

方案1:URL查询参数传递

这是最简便的实现方式,直接把动态ID拼接在跳转链接的查询参数中:

前端修改

将<a>标签的href属性修改为携带id参数的格式:

<td><a href="/edit?id={{ i+1 }}" id="{{ i+1 }}">Edit</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/delete">&#10006;</a></td>

后端接收逻辑

在app.py中通过request.args获取查询参数:

from flask import Flask, request

app = Flask(__name__)

@app.route('/edit')
def edit_handler():
    target_id = request.args.get('id')
    # 此处添加你的业务处理逻辑
    return f"待编辑的ID为:{target_id}"

方案2:动态路由参数传递

符合RESTful风格的实现方式,参数直接作为路由的一部分:

前端修改

将动态ID直接拼接在跳转路径中:

<td><a href="/edit/{{ i+1 }}" id="{{ i+1 }}">Edit</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/delete">&#10006;</a></td>

后端接收逻辑

在路由中定义参数占位符,直接作为视图函数的入参使用:

from flask import Flask

app = Flask(__name__)

@app.route('/edit/<int:target_id>')
def edit_handler(target_id):
    # 此处直接使用target_id即可,框架已自动转换为整数类型
    return f"待编辑的ID为:{target_id}"

如果参数涉及敏感信息,不想暴露在URL中,可以将a标签替换为绑定点击事件的元素,通过AJAX POST请求携带参数传递,避免参数在浏览器地址栏可见

内容的提问来源于stack exchange,提问作者Upanshu Lakhani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:12:02