我想使用jinja2's template
进行配置。但是我坚持下去。我使用set
创建新变量,之后我需要使用休闲字符串作为渲染的新变量。我的示例代码显示了我想要实现的目标:
play.yml
- hosts: localhost
gather_facts: no
vars:
x: a
y: 1
tasks:
- name: templating
template:
src: test.j2
dest: test.txt
vars:
a1b: 'OK - work'
$ test.j2
{% set host = x ~ y|string ~ 'b' %}
base: {{ host }}
expected: {{ a1b }}
那之后我得到:
base: a1b
expected: OK - work
但是我期望:
base: OK - work
expected: OK - work
可以说Jinja
她可以渲染新字符串吗?像| render
过滤器一样?
注意:
vars
部分是必需的,因为最后我想使用vars_prompt
答案 0 :(得分:0)
我发现了一些简单的死亡解决方法,但是如果有人回答“本机”,那就太好了。
所以: play.yml
{{
test.j2 我只是将{% set o = '{{' ~ x ~ y|string ~ 'b' ~ '}}' %
base: {{ host }}
expected: {{ a1b }}
作为字符串添加到模板中。
conda install -c anaconda beautifulsoup4