从python代码中呈现zpt宏变得容易
anthill.tal.macrorenderer的Python项目详细描述
简介
这个包使用纯python呈现来自给定页面模板的宏。
有时您可能希望使用页面模板,如代码库,其中 功能只有一个宏。使用zpt调用宏没有问题 使用宏,但是如何从纯python代码中调用宏并传递 参数?因为这个问题似乎没有明显的解决办法 (特别是参数部分)这个包是创建的。
从给定的页面模板中呈现名为macroname的宏:
>>> from anthill.tal.macrorenderer import MacroRenderer >>> template = ViewPageTemplateFile('template.pt') >>> renderer = MacroRenderer(template, 'macroname') >>> print renderer(data={'option1' : 42})
有时会出现一个异常,即没有向 呈现程序(或者对于以前的版本是typeerror)。
修复方法很简单:只需向宏渲染器调用添加一个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)
- 初始版本