Шаблонный движок Cheetah вызывает базовую функцию Python - PullRequest
0 голосов
/ 10 мая 2011

Я использую шаблон Cheetah вместе с Cherrypy, ниже мой основной файл python

Main.py:
def multiple(a,b):
    return a*b

def index(self):
    t = Template('template.tmpl')
    #blah implementation here

В моем файле шаблона я хочу достичь

<body>
    <div>
       $multiple(2,3)
    </div>
</body>

У кого-нибудь есть идея, как я могу получить этот инструмент? Большое спасибо.

С уважением, Энди.

Ответы [ 4 ]

2 голосов
/ 10 мая 2011
t = Template("template.tmpl")
t.multiple = multiple

Это должно сработать.

2 голосов
/ 10 мая 2011

попробуйте с аргументом searchList:

def index(self):
    t = Template('template.tmpl', searchList=[multiple])

Это позволяет вам определять "заполнители", которые вы сможете использовать в определении шаблона.

1 голос
/ 15 февраля 2012

Это может ответить на это:

import Cheetah
import Cheetah.Template


def multiple(a,b):
    return a*b

print Cheetah.Template.Template(file='template.tmpl',
                                searchList=[dict(multiple=multiple)])
0 голосов
/ 18 мая 2017

Почему бы просто не импортировать Main в шаблон?

#from Main import multiple
<body>
    <div>
       $multiple(2,3)
    </div>
</body>
...