当我们传递模板中不存在的变量时,jinja2是否有引发异常的方法?如果我们传入模板中不存在的变量,会在jinja中引发异常
PS:这与模板中存在变量但不通过时引发异常的方式不同(或相反)。为此,我用“未定义= StrictUndefined”
当我们传递模板中不存在的变量时,jinja2是否有引发异常的方法?如果我们传入模板中不存在的变量,会在jinja中引发异常
PS:这与模板中存在变量但不通过时引发异常的方式不同(或相反)。为此,我用“未定义= StrictUndefined”
也许这可以帮助你 http://jinja.pocoo.org/docs/api/#the-meta-api
>>> from jinja2 import Environment, meta
>>> env = Environment()
>>> ast = env.parse('{% set foo = 42 %}{{ bar + foo }}')
>>> meta.find_undeclared_variables(ast)
set(['bar'])
当你加载你的jinja2.Environment,在“未定义”参数设置为“jinja2.StrictUndefined”,如:
env = jinja2.Environment(loader=<someloader>, undefined=jinja2.StrictUndefined)
可以捕获并检查渲染例外,看看少了什么
编辑如果我阅读完整的问题,这将有所帮助。 :)