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

为什么Flask配置带<name>路径参数的路由时,user()方法需要传参才能正常运行

报错核心原因

你使用了Flask的动态路由语法@app.route("/<name>"),规则中的<name>是动态参数占位符:当用户访问/xxx路径时,Flask会自动把xxx作为参数传入绑定的user()视图函数。
而你的user()函数没有定义接收参数的形参,调用时会触发TypeError类型错误,未捕获的异常会直接导致Flask返回500 Internal Server Error。

适配需求的解决方法

你需要的「/后输入任意内容都返回hallo moto」的效果可以用两种方式实现:

  • 方案1:给视图函数补充对应名称的形参(即使不需要使用该参数也可以正常运行)
    修改后的代码示例:
from flask import Flask
app = Flask(__name__)
@app.route("/<name>")
def user(name):
    return "hallo moto"
app.run()
  • 方案2:如果需要匹配包含多层斜杠的路径(比如/a/b/c也能触发),可以使用path类型的动态参数:
from flask import Flask
app = Flask(__name__)
@app.route("/<path:unused_name>")
def user(unused_name):
    return "hallo moto"
app.run()

内容的提问来源于stack exchange,提问作者Aadarsh Kumar Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:27:03