我需要以下内容来引发异常:
jinja2.Template("Hello {{ a.x }}").render(a={})
Jinja2 默默地返回一个空字符串a.x
,所以这呈现为“Hello”。
如何让 jinja2 对未定义的属性引发异常?
from jinja2 import Template, StrictUndefined
print Template("Hello {{ a.x }}", undefined=StrictUndefined).render(a={})
这将引发一个异常:
File "<template>", line 1, in top-level template code
jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'x'
如果您为 a.x 设置一个值,那么它将按预期工作:
print Template("Hello {{ a.x }}", undefined=StrictUndefined).render(a={'x':42})
将打印:
Hello 42
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)