将代码升级至pylons1.0,原本运行良好的程序报出:
AttributeError: 'ContextObj' object has no attribute 'tabs' 异常,经过查询资料得知是pylons1.0相比较0.97做了一些调整,pylons 1.0默认情况下tmpl_context将不再是AttribSafeContextObj,也就是说:访问不存在的属性将产生AttributeError异常,为使用attribute-safe tmpl_context,可以更改config/environment.py,增加config['pylons.strict_tmpl_context'] = False即可.
官方说法原文为:
By default, the tmpl_context (a.k.a ‘c’), is no longer a AttribSafeContextObj. This means accessing attributes that don’t exist will raise an AttributeError.
To use the attribute-safe tmpl_context, add this line to the config/environment.py:
config['pylons.strict_tmpl_context'] = False
详情请参阅 http://pylonshq.com/docs/en/1.0/upgrading/