Flask中使用url_for加载静态图片出现404错误求助
Flask静态图片加载404问题解决
你的代码存在两处语法错误,导致url_for生成了错误路径,引发404:
- 第一处:
filename=images/cat.png未给路径字符串加引号,Jinja2会将其当作变量解析,而非静态资源路径 - 第二处:
url_for('static' filename=photo.png)缺少参数分隔的逗号,且photo.png同样未加引号
修正后的代码:
<img src="{{url_for('static', filename='images/cat.png')}}" alt="new image"> <img src="{{url_for('static', filename='photo.png')}}" alt="new photo">
你用普通HTML能加载成功,是因为直接书写的/static/images/cat.png是标准静态资源路径,无语法错误;而url_for作为Jinja2模板函数,必须严格遵循Python参数传递规则——字符串参数需加引号,多参数之间用逗号分隔。
内容的提问来源于stack exchange,提问作者Aman
相关产品推荐
相关产品推荐

