如何在Flask项目的HTML文件中正确显示图片?
Flask图片无法显示的解决方案
- 修正目录结构
Flask默认约定静态资源(图片、CSS、JS等)放在static文件夹,该文件夹需与templates同级,不要将图片混入templates目录。调整后的正确目录结构如下:
app/ ├── app.py ├── templates/ │ ├── registro.html │ ├── registro_exitoso.html │ └── contact.html └── static/ └── logo-inmedi.jpg
移除自定义静态文件夹配置
删除代码中app.static_folder = 'templates/static'这一行,Flask会自动识别默认的static目录,无需额外配置。确认HTML引用代码
保持你的图片引用代码不变即可,url_for的调用符合规范:
<img src="{{ url_for('static', filename='logo-inmedi.jpg') }}" class="logo">
检查图片文件本身
- 核对文件名拼写(注意大小写,Linux/macOS环境下文件名区分大小写)
- 确保图片文件未损坏,可直接用图片查看器打开验证
- 若在Linux服务器上,设置文件可读权限:
chmod 644 static/logo-inmedi.jpg
验证静态资源可访问性
重启Flask应用后,直接在浏览器地址栏访问http://localhost:5000/static/logo-inmedi.jpg(默认端口为5000,若修改过端口则对应调整):- 若能正常显示图片,说明后端配置无问题,可检查前端页面的缓存或渲染逻辑
- 若无法访问,重新核对目录结构和文件位置
内容的提问来源于stack exchange,提问作者Santiago Herrero
相关产品推荐
相关产品推荐

