Odoo有通过装饰器定义路由的方法。这几乎没问题,但是..我们想写模块,这将允许我们进行动态重写。Odoo。在werkzeug中动态注入url
https://www.odoo.com/documentation/8.0/reference/http.html - 这里我们可以找到添加路线的标准方式。
的样子:
class MyController(openerp.http.Controller):
@route('/some_url', auth='public')
def handler(self):
return stuff()
理想情况下,我们希望寻找到odoo商店RouteMap
为werkzeug
。
我试过还添加装饰方法类似的方式来控制器:
def my_redirect(new_url):
t = lambda x: werkzeug.utils.redirect(new_url, 301)
return t
MyController.test = http.route('/old_url/')(my_redirect('/new_url/'))
但是,在这种情况下,我们得到错误here。
回顾这些方法。目前唯一的解决方案是使用路由生成类。但是,我们如何将路由添加到'routing_map()'outside @ http.route装饰器之外? –
调度的使用有助于解决问题。 –