用jinja2替换多个值

时间:2016-04-01 11:43:09

标签: python jinja2

我在jinja2中有一个变量:test1 =“这是value1,这是value2”

使用:

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

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

我试过了:

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

但这只会取代value2。

2 个答案:

答案 0 :(得分:8)

你的表情似乎很好用。如果我创建一个模板 您问题中的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
>>> 

答案 1 :(得分:1)

当前您可以用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