当前位置: 首页 > news >正文

【BUG】【Python】【Flask】路径正确,但图片加载失败

BUG

路径正确,但图片加载失败

<imgsrc="D:/pictures/pets/1.jpg"alt="D:/pictures/pets/1.jpg">

DEBUG

  • 图片未放在 static 文件夹下‌

Flask 默认只从项目根目录下的 static 文件夹提供静态资源(如图片、CSS、JS)。若图片放在其他位置(如 templates/ 或自定义目录),Flask 无法直接访问,除非手动配置路由或修改 static_folder。

<imgsrc="static/images/1.jpg"alt="static/images/1.jpg">

其他可能

  • HTML 中引用路径错误‌
    即使文件在 static/ 中,若在模板中使用相对路径(如),可能因模板渲染上下文导致路径解析失败。应使用 Flask 提供的 url_for() 函数动态生成正确 URL。

  • Flask 配置了非默认的静态文件夹‌
    若创建应用时自定义了 static_folder(如 app = Flask(name, static_folder=‘assets’)),则需将图片放入该自定义目录,并确保引用时匹配新路径。

  • 浏览器缓存或 404 错误未被察觉‌
    浏览器可能缓存了旧资源,或实际请求返回 404。需通过开发者工具检查网络请求状态。

推荐操作步骤‌

  • 确认项目结构符合 Flask 约定‌

your_flask_app/
├── app.py
├── templates/ # HTML 模板放这里
└── static/ # 图片、CSS、JS 等静态资源放这里
└── images/
└── your_image.jpg

  • 在 HTML 模板中使用 url_for() 引用图片‌
<imgsrc="{{ url_for('static', filename='images/your_image.jpg') }}"alt="描述">
  • 检查文件路径和大小写是否完全匹配‌
    操作系统区分大小写,确保 filename= 参数与实际文件路径一致。

  • 使用浏览器开发者工具排查‌
    按 F12 打开开发者工具。
    切换到 ‌Network‌ 标签,刷新页面,查看图片请求是否返回 ‌404‌。
    若为 404,说明路径错误或文件不存在;若为 200 但图片不显示,可能是文件损坏或格式问题。
    ‌清除浏览器缓存或使用无痕模式测试‌
    有时旧缓存会导致资源加载异常。

  • 若图片不在 static/ 中,需自定义路由‌
    例如,图片在 uploads/ 目录:

fromflaskimportsend_from_directory@app.route('/uploads/<filename>')defuploaded_file(filename):returnsend_from_directory('uploads',filename)
<imgsrc="{{ url_for('uploaded_file', filename='image.jpg') }}">

补充说明‌

Flask 默认静态文件 URL 前缀为 /static/,可通过 static_url_path 参数修改 ‌。
若使用 PyInstaller 打包为 exe,需动态设置 static_folder 为 exe 所在目录 ‌。

http://www.jsqmd.com/news/437629/

相关文章:

  • [国产大模型]
  • 012-C++之智能指针
  • 空头:金融市场的“悲观预言家”与市场平衡者
  • 计算机毕业设计springboot基于+Vue3的毕业生信息管理系统 基于SpringBoot与Vue3的高校毕业生就业信息服务平台设计与实现 SpringBoot整合Vue3的大学生求职就业数字化管
  • 突发!阿里 P10 林俊旸深夜发推文离开阿里千问 。一夜之间,全球 AI 圈都在转发这条告别推文
  • 2026一人公司OPC发展研究报告:从工具到生态的进化 | 附报告PDF、数据、可视化模板汇总下载
  • “嘿,凤希!”,“宝贝,我在!”——带情绪与语气互动的AI伴侣,TA来了
  • 计算机毕业设计springboot积石中学学生信息管理系统 基于SpringBoot的中学教务管理与学生档案数字化平台 SpringBoot框架下的校园学生成长记录与学业管理系统
  • 2026年三月北京GEO服务商性价比高的6家推荐 - 余小铁
  • 基于VUE的景区管理系统毕业设计
  • 被低估的关键资源:稀土为何是国之重器
  • “我们现在太忙了,没时间搞这个。”
  • 数字档案管理系统:纸质档案占用空间大?电子化管理如何降低成本
  • Labview Vision 机器视觉实战:从环境搭建到硬币识别与坐标输出
  • 修复iOS 17/18/26 命名功能失效的 6 种有效方法
  • 直播预告 | 约翰斯·霍普金斯大学肖超玮教授:迈向安全可靠的AI智能体
  • ATTO390-PCL,ATTO390-聚己内酯,ATTO390-Dox,ATTO390-阿霉素
  • PDF-Extract-Kit-1.0医疗行业应用:病历报告结构化提取方案
  • 如何解决“电脑无法识别iPhone”的问题?
  • 2015-2025年政府公共安全基础设施建设采购数据库
  • H7-TOOL脱机烧录增加凌思微LE5010,ADI的ADuCM361和华润微CS32F469支持
  • YOLO26 旋转框检测 OBB 技术:角度预测与解码优化
  • 如何成为世界级的智能体工程师
  • 如何轻松地将联系人和短信从OPPO备份到计算机
  • M2LOrder服务网络安全配置指南:API访问鉴权与防滥用策略
  • 基于微信小程序的民宿预订管理系统小程序设计与实现
  • 一酌藏时光,半盏润人心
  • MyTV-Android:让老旧安卓电视重获新生的轻量级直播解决方案
  • 手把手教你玩转HY-1.8B-2Bit-GGUF:免费镜像+完整API调用示例
  • 基于微信小程序的乡镇医院挂号预约系统小程序设计与实现