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

如何修改template_vars通过Jinja2向HTML文件传入多张图片?

解决方案

首先要修正你当前HTML模板的问题——现在的循环会遍历template_vars里的所有键值对,包括title,这会导致把TITLE当成图片路径渲染,出现错误。我们需要把图片相关的数据单独拆分出来,再调整模板和template_vars。

方式一:仅批量加载图片路径

修改后的HTML模板

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<h2>Graphs Go Here</h2>
<div>
{% for img_path in images %}
 <img src="{{ img_path }}" alt="图表">
{% endfor %}
</div>
</body>
</html>

对应的template_vars修改

把图片路径放到一个列表里,通过images键传入:

template_vars = {
    "title": "TITLE",
    "images": ["obj1.png", "obj2.png", "obj3.png"]  # 这里添加所有需要加载的图片路径
}

方式二:每张图片带自定义标题

如果需要给每张图片添加说明标题,可以用字典列表的形式:

修改后的HTML模板

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<h2>Graphs Go Here</h2>
<dl>
{% for img in images %}
 <dt>{{ img.title }}</dt>
 <dd><img src="{{ img.path }}" alt="{{ img.title }}"></dd>
{% endfor %}
</dl>
</body>
</html>

对应的template_vars修改

template_vars = {
    "title": "TITLE",
    "images": [
        {"title": "用户行为图表", "path": "obj1.png"},
        {"title": "销售数据图表", "path": "obj2.png"},
        {"title": "流量趋势图表", "path": "obj3.png"}
    ]
}

这样修改后,Jinja2就能正确遍历所有图片路径,不会把标题当成图片处理了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:31:04