首页 > 解决方案 > 是否可以在 jinja 模板中动态行

问题描述

我想根据文件中的行数在我的 jinja 模板中添加行。例如。我的文件有 3 行然后 jinja 模板应该如下所示。假设我的行在文件中增加,那么行应该在变红时自动添加到 jinja 模板中。我正在从文件中计数

{% for item in join_out.stdout_lines %}
<tr>
{%  set row = item.split(" ") %}
<td align="center">{{ row[0] | replace('"','') }}</td>
<td align="center">{{ row[1] | replace('"','') }}</td>
<td align="center">{{ row[2] | replace('"','') }}</td>
</tr>
{% endfor %}
</table>

标签: ansible

解决方案


只需在set row = item.split(" ")上添加一个新的 for 循环来循环该列表上的项目,并且您不必使用列表索引。

{% for item in join_out.stdout_lines %}
<tr>
{%  set rows = item.split(" ") %}
{% for row in rows %}
  <td align="center">{{ row | replace('"','') }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>

推荐阅读