使用Jinja2模板创建字符串

时间:2018-11-09 06:20:24

标签: ansible jinja2

我要转换此变量:

SeconActivity sa;      //reference of second activity
public void myEventListener(int eventID){
switch (eventID) {
case : 0
sa.btnofsecondactivity.setVisibilty(View.GONE);
break;
}
}
使用Jinja模板

转换为“ attr = 1,nextattr = b,...”(即逗号分隔的字符串)。有没有办法做到这一点?

default_attr:
    attr1    :
    - "1"
    nexatt  :
    - "b"
 ...

我得到的错误如下所示:

- name: Reading the attributes
  set_fact:
    app_attributes: |
        {% set attributes = " " -%}
        {% for key in default_attr.keys() -%}
           {% for value in default_attr[key] -%}
               {% attributes: "{{ attributes }} + [{'key=value'}]" -%}
           {%- endfor %}
        {%- endfor %}
        {{ attributes }}

是否可以使用Jinja构造此字符串?

1 个答案:

答案 0 :(得分:2)

这有点肮脏,但是为了回答这个问题,下面的代码片段应该可以满足您的描述。一个问题是您没有指定Uncaught TypeError: Cannot read property 'getElementsByTagName' of null 或任何其他attr1列表中有多个项目时将发生的情况。如果每个列表中只有一个项目,则此代码段将起作用。

attr