【问题标题】:Replace and eval in JinjaJinja 中的替换和评估
【发布时间】:2019-02-06 11:56:46
【问题描述】:

我有一个这样的字符串作为 Jinja 变量:

foo-VERSION-bar

我想用{{ grains.lsb_distrib_release }} 替换VERSION,并且我希望它得到评估。

如果grains.lsb_distrib_release 包含123,我希望结果为foo-123-bar

如何在jinja中替换 eval?

【问题讨论】:

    标签: jinja2 salt-stack


    【解决方案1】:

    将谷物的值设置为变量:

    {% set version = salt['grains.get']('lsb_distrib_release', {}) %}
    

    使用 Jinja 替换功能:

    {{ "foo-VERSION-bar"|replace("VERSION", version) }}
    

    【讨论】:

    • 我更改了答案以替换字符串中的某些内容,但说实话很难理解您想要做什么。
    【解决方案2】:

    不使用 replace Jinja 过滤器,您可以使用它的连接可能性

    {{ 'foo-' ~ salt['grains.get']('lsb_distrib_release') ~ '-bar' }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      • 2012-05-10
      • 2013-02-01
      相关资源
      最近更新 更多