0

有没有办法在 cheetah 中声明静态方法?IE

片段.tmpl

#def address($address, $title)
<div class="address">
<b>$title</h1></b>
#if $address.title
$address.title <br/>
#end if
$address.line1 <br/>
#if $address.line2
$address.line2 <br/>
#end if
$address.town, $address.state $address.zipcode
</div>
#end def

....

other snippets

其他.tmpl

#from snippets import *

$snippets.address($home_address, "home address")

此代码报告此错误:NotFound: cannot find 'address'. Cheetah 将其编译为绑定方法,natch:

片段.py

class snippets(Template):

    ...

    def address(self, address, title, **KWS):

有没有办法声明静态方法?如果没有,有什么替代方法可以实现这样的东西(片段库)?

4

1 回答 1

0

此页面似乎有一些相关信息,但我现在无法亲自尝试,抱歉。

具体来说,你应该能够做到:

#@staticmethod
#def address($address, $title)

...并让它工作。

(如果你不知道,staticmethod是一个内置函数,它创建一个...静态方法:)它最常用作装饰器。所以我通过谷歌搜索“猎豹静态方法”找到了那个页面。)

于 2010-07-03T18:00:44.807 回答