跳转到主要内容

从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)

0.2 (2009-08-24)

  • 修复缺失上下文(TypeError异常)[spamsch]

0.1 (2009-08-08)

  • 初始发布

由以下提供支持