有没有办法在猎豹中声明静态方法? IE
snippets.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
other.tmpl
#from snippets import *
$snippets.address($home_address, "home address")
此代码报告此错误:NotFound: cannot find 'address'
。猎豹正在将其编译为绑定方法,natch:
snippets.py
class snippets(Template):
...
def address(self, address, title, **KWS):
有没有办法声明静态方法?如果没有,有哪些替代方法可以实现这样的(片段库)?
答案 0 :(得分:0)
This page似乎有一些相关信息,但我现在无法自己尝试,抱歉。
具体来说,你应该能够做到:
#@staticmethod
#def address($address, $title)
......让它发挥作用。
(如果您不知道,staticmethod是一个内置函数,可以创建一个...静态方法:)它最常用作decorator。所以我通过Googling“cheetah staticmethod”找到了该页面。)