Как я могу избежать двойных фигурных скобок в jinja2?

#ansible

Вопрос:

Мне нужно избежать двойных фигурных скобок в коде, над которым я работаю с помощью Ansible. Дело в том, что у меня есть все те параметры, которые необходимо преобразовать в переменные. В основном я работаю над созданием шаблона.

Я пробовал использовать {% raw %}{{ имя переменной }}{% endraw %}, но это не сработало. Когда я попытался /{/{ имя переменной }} Я почти понял это, но я тоже пытаюсь избавиться от обратной косой черты.

Вот немного кода:

 local_action:
    module: replace
    path: "/tmp/{{ ambiance }}/{{ seed }}DEFAULT.j2"
    regexp: "{{ item.regexp1 }}"
    replace: "{{ item.replace }}"
  with_items: 
    - { regexp1: '^DBHOST.*

Я ожидаю следующего результата:

 DBHOST = {{ satabasehost }}
GLOBALHOST = {{ global_hostname }}
 

Есть какие-нибудь предложения/идеи?

Ответ №1:

{% raw %}{{ databasehost }}{% endraw %} должно сработать.

Вы также можете использовать {{ '{{ databasehost }}' }} в качестве альтернативы.

, replace: 'DBHOST = {% raw %}{{ databasehost }}{% endraw %}' }
- { regexp1: '^GLOBALHOST.*Я ожидаю следующего результата:


Есть какие-нибудь предложения/идеи?

Ответ №1:

{% raw %}{{ databasehost }}{% endraw %} должно сработать.

Вы также можете использовать {{ '{{ databasehost }}' }} в качестве альтернативы.

, replace: 'GLOBALHOST = {% raw %}{{ global_hostname }}{% endraw %}' }

Я ожидаю следующего результата:


Есть какие-нибудь предложения/идеи?

Ответ №1:

{% raw %}{{ databasehost }}{% endraw %} должно сработать.

Вы также можете использовать {{ '{{ databasehost }}' }} в качестве альтернативы.