Un / связанные методы в гепарде - PullRequest
0 голосов
/ 03 июля 2010

Есть ли способ объявить статические методы в гепарде?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):

Есть ли способ объявления статических методов?Если нет, то каковы альтернативные способы реализации чего-то подобного (библиотека фрагментов кода)?

1 Ответ

0 голосов
/ 03 июля 2010

Эта страница , по-видимому, содержит некоторую соответствующую информацию, но я сейчас не могу попробовать ее сам, извините.

В частности, вы должны просто иметь возможностьсделать:

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

... и заставить его работать.

(Если вы не знали, staticmethod - это встроенная функция, которая создает... статический метод :) Обычно он используется в качестве декоратора .Так что я нашел эту страницу от Google: « cheetah staticmethod ».)

...