用 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
我在 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