如何在odoo中使用params从一个控制器重定向到另一个控制器?

时间:2017-08-22 17:13:45

标签: openerp odoo-8

我为新用户和公司创建了一个注册页面。我不想使用已经存在的默认注册页面,因为我有很多自定义字段。创建新用户和公司后,我想在新页面中显示用户详细信息。我收到错误TypeError: 'dict' object is not callable。如何从' / web / save'重定向api to' / web / details' api与我的参数' qcontext'。

@http.route('/web/save', type='http', method="post", auth="public",csrf=False)
def save_registration_details(self, **kw):
    qcontext = request.params.copy()
    # Code to create new user and company 

    return {
        'type': 'ir.actions.act_url',
        'url': '/web/details/%s' % qcontext,
        'target': 'self',
    }

@http.route('/web/details', type='http', auth="public")
def show_registration_details(self, qcontext, redirect=None, **kw):
    return http.request.render('odoo_web_login.success',qcontext)

2 个答案:

答案 0 :(得分:2)

您可以尝试:

return werkzeug.utils.redirect('/web/details%s' % qcontext)

答案 1 :(得分:0)

对于从一个控制器重定向到另一个返回URL,如下所示:

return {
        'type': 'ir.actions.act_url',
        'url': '/web/details?qcontext=%s&redirect=True' % (qcontext),
        'target': 'self',
    }