python - 用于索引名称的 jinja2 循环
问题描述
我有以下字典列表:
servers:
- name: web
number: 3
- name: lb
number: 2
我需要 jinja2 模板的以下输出:
web_1
web_2
web_3
lb_1
lb_2
我已经尝试在 stackoverflow 上查看 jinja2 手册或其他一些示例,但我发现对我的用例没有任何用处。
{% for server in servers %}
{{ server.name }}_index
{% endfor %}
上面的代码不起作用。
解决方案
您只需要在该number
字段上添加额外的循环:
{% for server in servers %}
{%- for index in range(server.number) %}
{{- server.name }}_{{ index + 1 }}
{% endfor %}
{%- endfor %}
第一个循环迭代服务器条目,第二个循环在指定范围(number
字段)内生成索引。