Cheetah模板引擎调用python基函数

发布于 2024-11-06 17:35:08 字数 380 浏览 0 评论 0原文

我将 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>

任何人都知道如何获得这个工具?非常感谢。

问候, 安迪.

I am using Cheetah template together with Cherrypy, below is my main python file

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

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

In my template file, I wish to achieve

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

Anyone has an idea how can I get this implement? Many thanks.

Regards,
Andy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

述情 2024-11-13 17:35:08
t = Template("template.tmpl")
t.multiple = multiple

那应该可以解决问题。

t = Template("template.tmpl")
t.multiple = multiple

That should do the trick.

羁客 2024-11-13 17:35:08

尝试使用 searchList 参数:

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

它允许您定义可以在模板定义中使用的“占位符”。

try with the searchList argument :

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

It allows you to define "placeholders" that you will be able to use in template definition.

内心荒芜 2024-11-13 17:35:08

这或许可以回答:

import Cheetah
import Cheetah.Template


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

print Cheetah.Template.Template(file='template.tmpl',
                                searchList=[dict(multiple=multiple)])

This may answer it:

import Cheetah
import Cheetah.Template


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

print Cheetah.Template.Template(file='template.tmpl',
                                searchList=[dict(multiple=multiple)])
悲歌长辞 2024-11-13 17:35:08

为什么不直接在模板中导入 Main 呢?

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

Why not just import Main in the template?

#from Main import multiple
<body>
    <div>
       $multiple(2,3)
    </div>
</body>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文