我想继承到名为 AuthSignupHome 的类,以覆盖名为 do_signup 的方法,但此类没有 _name 属性。
AuthSignupHome 类的路线是: odoo / addons / auth_signup / controllers / main.py
我反过来重写一个方法,有必要重新定义类的属性,但它没有...我不需要它,我有点困惑!
我是odoo的新手,请以简单的方式澄清,我该怎么做?
编辑:这是一个网络控制器,我正在阅读继承和覆盖,有人能为我提供指导吗?
答案 0 :(得分:1)
我解决了这个问题,首先构建了一个Web模块,然后是main.py控制器
class MyClass(openerp.addons.auth_signup.controllers.main.AuthSignup):
def do_signup(self, qcontext):
,多数民众赞成:)
答案 1 :(得分:0)
在旧的OpenERP文档中找到了这个:http://odoo-documents.readthedocs.org/en/latest/reference/http.html
class MyController(openerp.http.Controller):
@route('/some_url', auth='public')
def handler(self):
return stuff()
要覆盖控制器,从其类继承并覆盖相关方法,必要时重新公开它们:
class Extension(MyController):
@route()
def handler(self):
do_before()
return super(Extension, self).handler()
用route()装饰是保持方法(和路线)的必要条件 可见:如果重新定义方法而不进行装饰,那将是 “未发表的”
如果重写方法的话,所有方法的装饰器都会被组合在一起 装饰者没有任何论据所有以前的将被保留,任何提供 参数将覆盖先前定义的