忽略jinja2的UndefinedError
Posted on 2012年5月27日 02:43背景:
jinja2模板中,如果有变量为None,而又有获取其属性的行为,则会产生UndefinedError异常。
解决方案:
此方案针对flask框架的情况。
subclass默认的Undefined类为Myundefined,并重新定义_fail_with_undefined_error这个方法为什么都不做。设定app采用自定义的Myundefined类。
代码如下:
1 2 3 4 5 6 7 8 9 | import jinja2 ... class Myundefined(jinja2.Undefined): def _fail_with_undefined_error( self , * args, * * kwargs): pass app.jinja_env.undefined = Myundefined |