Odoo,如何在Qweb模板中访问python函数

时间:2016-08-19 04:16:13

标签: openerp odoo-8 qweb odoo-website

如何在Qweb模板中访问Python函数。
就像在 website_sale website_hr_recruitment 模块中的模板中使用的Python函数slug()一样

2 个答案:

答案 0 :(得分:2)

对于qweb报告,请在模型中定义该功能。例如,您继承了模型account.invoice,并且想要在qweb报告模板中添加一些内容,您可以创建一个类似的函数:

@api.multi
def myfunction(self, s):
    return s.lower()

然后在您的模板中,您可以将其称为<span t-esc="o.myfunction('Hello')"/>

在网站模板中,您可以在渲染上下文中包含该功能,如:

http.request.website.render(
    "my_module.my_template", 
    {'myfunction': self.myfunction})

然后你可以像往常一样调用它:<span t-esc="myfunction('Hello')"/>

答案 1 :(得分:0)

您可以通过此操作从任何类调用任何方法

env ['model.name']。method_name()