用 jinja2 替换多个值

Replace multiple values with jinja2

我在 jinja2 中有一个变量:test1 = "this is value1 and this is value2"

与:

{{ test1 | replace("value1","my_value1")  }}

我可以替换 value1 但我还需要替换 value2 我该怎么做?

我试过了:

{{ test1 | replace("value1","my_value1") | replace("value2","my_value2") }}

但这只会替换 value2。

你的表达似乎很正常。如果我创建一个模板 您问题中的 jinja2 表达式:

>>> import jinja2
>>> t = jinja2.Template('{{ test1 | replace("value1","my_value1") | replace("value2","my_value2") }}')

然后渲染它,为 test1 传递一个包含两者的值 目标替换字符串的数量:

>>> output = t.render(test1="this has both value1 and value2")

我得到一个替换了两个值的字符串:

>>> print (output)
this has both my_value1 and my_value2
>>> 

目前您可以用 jinja 替换变量

http://jinja.pocoo.org/docs/2.10/templates/#replace

{{ "Hello World"|replace("Hello", "Goodbye") }}
    -> Goodbye World

{{ "aaaaargh"|replace("a", "d'oh, ", 2) }}
    -> d'oh, d'oh, aaargh