本题的基本问题是如果模板标签没有在上下文中定义,如何保留模板标签。
例如:
from jinja2 import Template
template = Template('User {{Name}} have received {{count}} mails')
result = template.render({'count': 30})
在这种情况下,jinja 会将 {{Name}} 替换为 '',
如何让 jinja 在模板中留下 {{Name}} 而不是 ''。
非常感谢。
最佳答案
jinja2.Environment
构造函数接受 undefined
参数,以控制这种情况下的行为。默认情况下为 jinja2.Undefined
什么都不输出,但你也可以使用 jinja2.DebugUndefined
或编写您自己的实现。
例如:
env = jinja2.Environment(undefined=jinja2.DebugUndefined)
t = env.from_string("{{foo}}{{bar}}")
t.render(foo=123) # will print u'123{{ bar }}'
关于python - Jinja 在渲染后保留模板标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120957/