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

Flask结合HTML5 for循环渲染静态图片不生效问题求助

Flask模板遍历元组列表渲染图片失败解决方案

核心错误原因

  • 视图函数传递给模板的变量名为data,但模板中直接遍历Python内置关键字list,无法匹配到传入的元组列表数据
  • Jinja2语法不支持在{{ }}表达式内部嵌套{{ }}标识,原有代码在url_for的filename参数中嵌套了变量标识,导致最终传入的路径是字符串{{ item[0] }},而非实际的图片路径

额外提示:不建议使用Python内置关键字list作为你的元组列表变量名,容易引发命名冲突,可改为更有语义的名称如photo_list,对应修改模板遍历对象即可。

修复方案

直接修改模板代码即可,调整遍历对象、移除多余的变量嵌套标识,修复后代码如下:

{% for item in data %}
    <p>{{ item[0] }}</p>
    <img src="{{ url_for('static', filename=item[0]) }}">
{% endfor %}

修改后Jinja2会正确解析item[0]的实际值作为filename参数传入url_for,生成正确的静态资源路径,即可正常加载图片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:27:03