Как преобразовать одинарную кавычку в двойную кавычку в файле шаблона jinja? - PullRequest
0 голосов
/ 07 мая 2018

Привет, у меня есть файл состояния соли, который имеет расширение ".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 голосов
/ 20 июня 2018

Вы должны выводить opentsdb_hosts напрямую, используя {{ opentsdb_hosts }}, который выводит его в удобном для Python формате, который обычно предпочитает одинарные кавычки перед двойными (хотя обе кавычки работают в питоне как допустимые строковые литералы).

Чтобы вывести opentsdb_hosts как json, просто используйте вместо этого рендерер json, предоставленный salt, т.е. {{ opentsdb_hosts | json }}.

...