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

Flask图片画廊开发遇werkzeug.routing.BuildError问题求助

解决Flask中werkzeug.routing.BuildError: 找不到'send_image'端点的问题

嘿,我来帮你搞定这个头疼的错误!你遇到的werkzeug.routing.BuildError本质上是Flask找不到你在模板里调用的send_image路由端点,大概率是下面几个地方出了问题,咱们一个个排查:

  • 你还没定义send_image路由函数
    很多图片画廊教程会用专门的路由返回图片文件,你的main.py里可能只写了/gallery的路由,但漏掉了这个关键的send_image。赶紧把这段代码加上去(注意替换成你实际的图片存储目录,比如uploads):

    @app.route('/uploads/<filename>')
    def send_image(filename):
        # 这里的'uploads'是你的图片存放目录,要和实际路径一致
        return send_from_directory('uploads', filename)
    

    另外要确保这个uploads目录已经创建,而且Flask有访问它的权限哦。

  • 模板里的url_for调用写错了端点名
    打开你的gallery.html,看看是不是用了类似{{ url_for('send_image', filename=image.filename) }}的代码。如果这里的send_image和你路由函数的名字不匹配(比如拼写错成send_img、大小写不对),Flask就会找不到端点。一定要保证两者完全一致!

  • 路由参数和url_for的参数名不匹配
    比如如果你的路由写成了@app.route('/uploads/<img_name>'),但url_for里传的是filename=xxx,就会因为参数名对不上报错。要确保路由里的参数名(比如<filename>)和url_for里的参数键完全相同。

最后再提个小提醒:别忘了检查你的图片是不是真的存到了指定的目录里,要是文件都没在那儿,就算路由对了也没法显示图片哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:54:08