如何在Jinja2模板中正确遍历列表变量生成HTML列表?
问题解决:修正Jinja2模板实现不可达主机逐行列出
错误原因
你的Jinja2模板存在两个核心问题:
- 循环中错误输出了整个
unreachable_hosts列表,而非当前循环的单个主机项 <li>标签的颜色属性写法不符合HTML规范
修正后的Jinja2模板代码
<tr> <td colspan="6"> <b> Unreachable Servers: </b> <br> <ul> {% for host in unreachable_hosts %} <li style="color: red;">{{ host }}</li> {% endfor %} </ul> </td> </tr>
关键修改说明
- 循环变量命名改为更语义化的
host(原items也可使用,但host更贴合场景) - 将输出内容从
{{ unreachable_hosts }}改为{{ host }},确保每次循环仅打印当前单个主机名 - 把不规范的
<li font color="red">替换为标准写法<li style="color: red;">,符合HTML样式规则
预期输出效果
修正后生成的HTML会输出你期望的内容:
Unreachable Servers: - server001 - server003
内容的提问来源于stack exchange,提问作者Phil81
相关产品推荐
相关产品推荐

