码迷,mamicode.com
首页 > 其他好文 > 详细

jinja 多值合并

时间:2017-04-09 11:30:25      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:host   识别   pre   order   web   names   ...   功能   python   

示例
{% 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 多值合并

标签:host   识别   pre   order   web   names   ...   功能   python   

原文地址:http://www.cnblogs.com/jackchen001/p/6684033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!