首页 > 代码库 > jinja 多值合并
jinja 多值合并
示例
{% for node in groups["db"] %}
{{ node | join("") }}:5672
{% if not loop.last %}
{% endif %}
{% endfor %}
解释:
第一行代码中groups为ansible的内置变量。同类型内置变量有:
parameter | description |
hostvars | 主机变量名 |
inventory_hostname | 当前ansbile可识别的hosts |
group_names | 当前主机的所属组 |
groups | 字典数组,数组名,包括:{"all":[...],"web":[...]} |
第二行使用python内置join函数格式化代码输出。
第三行 loop.last为 jinja2.8版本的内置变量,同类型及功能如下。
- loop.index: 当前循环的迭代次数(默认从1开始)
- loop.index(): 当前循环的迭代次数(默认从0开始)
- loop.revindex: 到循环结束需要迭代的次数(默认从1开始)
- loop.revindex(): 到循环结束需要迭代的次数(默认从0开始)
- loop.first: 如果是第一次迭代,为True
- loop.last: 如果是最后一次迭代,为True
- loop.length: 序列中的项目数
- loop.depth: 显示渲染的递归循环的层级数(默认从1开始)
- loop.depth0: 显示渲染的递归循环的层级数(默认从0开始)
- loop.cycle: 在一串序列间期取值的辅助函数
jinja 多值合并
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。