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

如何在HTML页面中使用Flask路由传递的参数?错误排查

问题解决方法

错误原因分析

  • Jinja2语法误用:模板中使用了{{ if ... }}格式,但Jinja2的流程控制语句(如if判断)需要用{% ... %}包裹,{{ ... }}仅用于输出变量值。
  • 变量名不匹配:Python路由里传递给模板的变量名是keys,但模板中调用的是argument,两者不一致导致无法正确获取参数。

修正后的代码

Python文件

@app.route('/home/<argument>')
def home_page(argument):
    return render_template('home.html', argument=argument)

将传递的变量名改为argument,与模板中要使用的变量名保持统一。

HTML文件

<!-- inside the url http://127.0.0.1:5000/home/age -->
{% if argument == "age" %}
    <p>Age 50</p>
{% else %}
    <p>Invalid</p>
{% endif %}

把原有的{{ if ... }}和{{ endif }}替换为Jinja2标准的流程控制语法{% if ... %}和{% endif %}。

验证效果

启动Flask应用后,访问http://127.0.0.1:5000/home/age会显示Age 50;访问其他路径(如http://127.0.0.1:5000/home/name)则显示Invalid。

内容的提问来源于stack exchange,提问作者Muthu Vijay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:35:30