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

Flask中'keyword argument repeated'错误排查(分页功能开发)

解决Jinja2模板中的"keyword argument repeated"错误

你遇到的这个错误原因非常明确——在Jinja2模板的分页循环代码里,重复传递了同一个关键字参数。

看你模板里的这行代码:

{% for page_num in blog_posts.iter_pages(left_edge=1, right_current=1, right_current=2) %}

这里连续写了两次right_current参数,一次设为1,一次设为2,Jinja2解析模板时会识别到重复的关键字参数,直接抛出SyntaxError: keyword argument repeated。(错误栈显示的行号和实际行号有偏差,大概率是模板继承后渲染的总行数导致的,不用纠结这个细节)

修正方案

把重复的参数去掉,根据你的分页需求保留正确的参数配置。iter_pages的常用参数是left_edge(最左侧显示的页码数)、left_current(当前页左侧显示的页码数)、right_current(当前页右侧显示的页码数)、right_edge(最右侧显示的页码数)。

假设你想要的是「最左侧显示1个页码,当前页右侧显示2个页码」,修正后的代码应该是:

{% for page_num in blog_posts.iter_pages(left_edge=1, right_current=2) %}

如果需要更精细的控制,比如「最左侧1个、当前页左侧1个、当前页右侧2个」,可以写成:

{% for page_num in blog_posts.iter_pages(left_edge=1, left_current=1, right_current=2) %}

额外小提示

模板里还有一处潜在的小笔误,建议一并检查:

<a href="{{url_for('blog_posts.blog_posts', blog_posts_id=post.id)}}">{{post.title}}</a>

这里的端点名称blog_posts.blog_posts看起来重复了,大概率应该是blog_posts.blog_post(对应单个文章的路由),虽然这不是当前报错的原因,但可能会导致后续点击文章标题时出现404错误。

内容的提问来源于stack exchange,提问作者Tapajyoti Bose

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:47:15