缩进 "columns" 与 Jinja2 循环中的不同数据一致
Indent "columns" consistently with varying data in a Jinja2 loop
我正在尝试使用 jinja 模板构建一个 dns 文件。我循环遍历主机名和 IP 以呈现到模板。我希望此文件整洁且缩进一致。我遇到的问题是主机名长度可能会有所不同,因此使用缩进之类的过滤器无法按预期工作。
数据如下:
主机 1 192.168.1.2
host001 192.168.1.3
我的模板如下:
{% for host in hosts %}
{{- host.hostname }} {{ host.ipv4 | indent(10, true) }}
{% endfor %}
结果:
host1 192.168.1.2
host001 192.168.1.3
我希望 IP 地址“列”彼此对齐,如下所示:
host1 192.168.1.2
host001 192.168.1.3
这可能与 Jinja 相关吗?我正在使用 jinja 版本 2.7.2
尝试:
{% for host in hosts %}
{{- host.hostname }} {{ host.ipv4 | indent(15 - host.hostname|length, true) }}
{% endfor %}
假设您的主机名少于 15 个字符。
我正在尝试使用 jinja 模板构建一个 dns 文件。我循环遍历主机名和 IP 以呈现到模板。我希望此文件整洁且缩进一致。我遇到的问题是主机名长度可能会有所不同,因此使用缩进之类的过滤器无法按预期工作。
数据如下:
主机 1 192.168.1.2
host001 192.168.1.3
我的模板如下:
{% for host in hosts %}
{{- host.hostname }} {{ host.ipv4 | indent(10, true) }}
{% endfor %}
结果:
host1 192.168.1.2
host001 192.168.1.3
我希望 IP 地址“列”彼此对齐,如下所示:
host1 192.168.1.2
host001 192.168.1.3
这可能与 Jinja 相关吗?我正在使用 jinja 版本 2.7.2
尝试:
{% for host in hosts %}
{{- host.hostname }} {{ host.ipv4 | indent(15 - host.hostname|length, true) }}
{% endfor %}
假设您的主机名少于 15 个字符。