从Python代码轻松渲染ZPT宏
项目描述
简介
此包使用纯Python从给定页面模板渲染宏。
有时您可能希望使用页面模板,如代码库,其中每个功能都有一个宏。使用ZPT use-macro调用宏没有问题,但如何从纯Python代码中调用宏并传递参数呢?因为这个问题的解决方案并不明显(尤其是参数部分),因此创建了此包。
从给定页面模板渲染名为macroname的宏
>>> from anthill.tal.macrorenderer import MacroRenderer >>> template = ViewPageTemplateFile('template.pt') >>> renderer = MacroRenderer(template, 'macroname') >>> print renderer(data={'option1' : 42})
有时您会收到有关渲染器未提供足够上下文的异常(或对于旧版本,TypeError)。
修复很简单:只需在MacroRenderer调用中添加context=self.context
>>> renderer = MacroRenderer(template, 'macroname', context=self.context)
变更日志
0.2.1 (2009-08-24)
添加了对http://mail.zope.org/pipermail/zope3-dev/2007-April/022266.html的修复,因为当调用具有不足上下文的宏时可能会发生这种情况 [spamsch]
0.2 (2009-08-24)
修复缺失上下文(TypeError异常)[spamsch]
0.1 (2009-08-08)
初始发布