【发布时间】:2011-09-20 02:53:24
【问题描述】:
是否可以从 Mako 模板中获取渲染的正文内容?我的意思是我可以使用${self.body()} 显示body,但是如果我想先对它做些什么呢?
【问题讨论】:
是否可以从 Mako 模板中获取渲染的正文内容?我的意思是我可以使用${self.body()} 显示body,但是如果我想先对它做些什么呢?
【问题讨论】:
显然我正在寻找的是capture function。来自文档:
缓冲 def 或任何 Mako 可调用的输出的另一种方法是 使用内置的捕获功能。这个函数执行一个 操作类似于上述缓冲操作,除了它是 由调用者指定。
${" results " + capture(somedef) + " more results "}
或者在我的情况下:
<%
body = capture(self.body)
# etc.
%>
【讨论】:
一种方法是通过自定义过滤器传递它
<%
def myFilter(txt):
return "whatever I want to do it"
>%
${self.body() | myFilter}
【讨论】: