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

Jinja模板调用Flask蓝图路由articles出现BuildError报错求助

Flask分页功能中url_for触发BuildError的解决方案

问题原因

你的路由定义在blogs_blueprint蓝图下,Flask中蓝图视图的endpoint格式为[蓝图名称].[视图函数名]。直接使用url_for('articles')会尝试查找应用级别的articles视图,而非蓝图下的对应视图,因此触发BuildError。

修复步骤

将Jinja模板中所有调用url_for的地方,补充蓝图前缀:

修改前的模板代码示例

href="{{ url_for('articles', page=blogs.prev_num) }}"

修改后的模板代码示例

href="{{ url_for('blogs_blueprint.articles', page=blogs.prev_num) }}"

注:如果你的蓝图创建时指定的名称不是blogs_blueprint(例如blogs_blueprint = Blueprint('blogs', __name__)),则需替换为实际的蓝图名称,格式为url_for('blogs.articles', ...)。

需要替换模板中所有三处url_for('articles', ...)的调用:

  • 上一页的跳转链接
  • 页码的跳转链接
  • 下一页的跳转链接

额外验证点

  1. 确认蓝图已正确注册到Flask应用:
from flask import Flask
from your_module import blogs_blueprint

app = Flask(__name__)
app.register_blueprint(blogs_blueprint)  # 若配置了url_prefix需确保参数正确
  1. 路由中page参数已设置默认值page=1,这部分你的代码已正确实现,确保无参数时也能正常访问。

内容的提问来源于stack exchange,提问作者Graham Patrick

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 10:13:31