如何在 jinja2 中转义双花括号? [英] How can I escape double curly braces in jinja2?
问题描述
我需要在我正在使用 Ansible 处理的代码中转义双花括号.问题是我拥有所有需要在变量中转换的参数.基本上我正在研究模板创建者.
I need to escape double curly braces in a code I'm working on using Ansible. The thing is I have all those parameters that needs to be transformed in variables. Basically I'm working on a template creator.
我尝试过使用 {% raw %}{{ name-of-variable }}{% endraw %} 但它没有用.当我尝试/{/{ name-of-variable }} 时,我几乎明白了,但我也试图摆脱反斜杠.
I've tried using {% raw %}{{ name-of-variable }}{% endraw %} but it did not worked. When I tried /{/{ name-of-variable }} I almost got it, but I am trying to get rid of the backslashes too.
代码如下:
local_action:
module: replace
path: "/tmp/{{ ambiance }}/{{ seed }}DEFAULT.j2"
regexp: "{{ item.regexp1 }}"
replace: "{{ item.replace }}"
with_items:
- { regexp1: '^DBHOST.*$', replace: 'DBHOST = {% raw %}{{ databasehost }}{% endraw %}' }
- { regexp1: '^GLOBALHOST.*$', replace: 'GLOBALHOST = {% raw %}{{ global_hostname }}{% endraw %}' }
我希望结果如下:
DBHOST = {{ satabasehost }}
GLOBALHOST = {{ global_hostname }}
有什么建议/想法吗?
推荐答案
{% raw %}{{ databasehost }}{% endraw %}
应该可以工作.
您也可以使用 {{ '{{ databasehost }}' }}
作为替代.
You can also use {{ '{{ databasehost }}' }}
as an alternative.
这篇关于如何在 jinja2 中转义双花括号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!