如何在jinja模板文件中将单引号转换为双引号?

时间:2018-05-07 08:54:38

标签: json templates jinja2 salt

您好我有一个盐状态文件,其扩展名为“.sls”,并且正在使用jinja模板

我正在jinja模板中创建一个列表。问题是当我运行该文件然后列表转换为JSON,它将每个元素周围的双引号转换为单引号,这会导致错误。

{%- set opentsdb_hosts = [] -%}
{%- for host in salt['pnda.opentsdb_hosts']() -%}
{%- do opentsdb_hosts.append("http://%s:%s" % (host, opentsdb_port)) -%}
{%- endfor -%}

如您所见,我正在创建一个名称为 opentsdb_hosts 的列表。 opentsdb_hosts 中的每个元素都应该有一个双引号。但它正在做单引号。

请帮忙。

1 个答案:

答案 0 :(得分:0)

您必须直接使用opentsdb_hosts输出{{ opentsdb_hosts }},并将其以python友好的格式输出,通常比单引号更喜欢单引号(尽管两个引号在python中都可以作为有效字符串使用)文字)。

要将opentsdb_hosts输出为json,只需使用salt提供的json渲染器,即{{ opentsdb_hosts | json }}