【问题标题】:Escape characters in Jinja2 AnsibleJinja2 Ansible 中的转义字符
【发布时间】:2018-11-19 13:09:01
【问题描述】:

我正在尝试创建一个用于 Ansible 角色的 Jinja2 模板,但我真的不知道如何在此模板中转义双引号。

我的代码是这样的:

{% for site in sites %}
testclass="HTTPSamplerProxy" testname="{{ site.path }}" enabled="true">

我的变量是 site.path,当我添加双引号 ("") 时不再被视为变量。

我怎样才能逃脱字符?

【问题讨论】:

    标签: ansible jinja2 ansible-template


    【解决方案1】:

    我假设站点是一个字典列表,其中包含一个名为“路径”的键

    如果网站是字典列表,以下对我有用:

    {% for site in sites.values() %}
    testclass="HTTPSamplerProxy" testname="{{ site.path }}" enabled="true">
    {% endfor %}
    

    呈现的模板包含列表中每个字典的“testclass”行,并且 site.path 被插值

    【讨论】:

    • Site.path 确实是字典列表中的一个变量,但这很好用并且是正确的。问题是我需要值的结果有双引号。在您发布的示例中,与我的一样, site.path 将不再被视为变量,因为引号。我也尝试使用 2 个双引号,使用 /,但没有成功。我无法逃脱他们 testname=""{{ site.path }}"" testname=\"{{ site.path }}\"
    • 你能提供一些示例数据和你需要渲染的输出吗?我在测试代码的输出中得到双引号和变量值。谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 2016-12-21
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多