本主题的基本问题是如果未在上下文中定义模板标记,如何保留模板标记 例如:
from jinja2 import Template
template = Template('User {{Name}} have received {{count}} mails')
result = template.render({'count': 30})
在这种情况下,jinja会将{{Name}}替换为'',
如何让jinja在模板中留下{{Name}}而不是''。
非常感谢。
答案 0 :(得分:3)
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 }}'