我正在尝试从jinja2.8更新到2.10,并且有问题。 在2.8中,我的代码如下:
Case:
{% filter indent(2) %}
{% include "work.tpl" without context %}
{% endfilter %}
End
work.tpl像这样:
Row 1
Row 2
所以,结果是:
Case:
Row 1
Row 2
End
但是当我升级到2.10时,我的结果是:
Case:
Row 1
Row2
End
我如何喜欢2.10中的jinja2.8。请帮帮我!
我的文件在这里: main.py
from jinja2 import Template, Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template('template.tpl')
rendered = template.render()
print(str(rendered))
template.tpl在这里:
Test
{% filter indent(4, first=True) -%}
{% include 'template2.tpl' without context %}
{%- endfilter %}
Test
还有template2.tpl:
Row 1
Row 2
Row 3
结果是
Test
Row 1
Row 2
Row 3
Test
答案 0 :(得分:0)
通过简短的测试,我无法重现此内容。这是我使用的简化代码:
import jinja2
tmpl = jinja2.Template("""
Case:
{% filter indent(2, first=True) -%}
Row 1
Row 2
{%- endfilter %}
End
""")
print(tmpl.render())
哪些印刷品:
Case:
Row 1
Row 2
End
我只向first=True
添加了filter
选项和内部标记上的破折号,但这没有什么区别,所以我认为您的{{1} }。