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

Flask中url_for需传必填路由参数却报错不接受第二个参数怎么解决?

问题原因

Flask 中url_for()函数的传参规则为:仅第一个参数(路由对应的视图函数名)支持位置传入,路由所需的所有动态参数必须以关键字参数的形式传递,不支持位置传参。
你当前代码中url_for('responses', survey_id)将survey_id作为第二个位置参数传入,违反传参规则因此触发TypeError;如果移除该参数,responses路由强制要求传入survey_id动态参数,就会触发BuildError。

解决方法

将survey_id改为关键字参数形式传入即可,修改后的代码如下:

return redirect(url_for('responses', survey_id=survey_id))

代码中第一个survey_id为路由定义中声明的动态参数名,第二个为delete_response视图接收的同名参数变量,符合url_for()的传参要求,可正常生成目标路由URL。


内容的提问来源于stack exchange,提问作者Egzon Korenica

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:15:04