zoukankan      html  css  js  c++  java
  • Odoo 中的 Controller

    Odoo处理HTTP请求的接口用的Contoller类,封装于web模块中。

    ---------------------------------------------------------------

    RequestHandler:

    1. replace_request_password(args):用*替换掉request中的密码字符。

    2. dispatch_rpc(service_name, method, params):处理RPC请求。service_name的值可取common,db,object,report四种。

    3. local_redirect(path, query=None, keep_hash=False, forward_debug=True, code=303):重定向到一个新url。

    4. redirect_with_hash(url, code=303):带locathion.hash值的重定向方法。

    ---------------------------------------------------------------

    WebRequest:

    Odoo Web请求的父对象

    属性:httprequest,httpresponse,httpsession,env,context,session,lang,cr,debug,registry_cr,session_id,registry,db

    ---------------------------------------------------------------

    route装饰器:封装了处理web request路由的处理方法,被封装的方法必须为Controller的子类方法。

    route(route=None, **kw):

    参数说明:

    route:字符或数组,映射URL中对应的路径。

    type:request的类型,'http'或'json'。

    auth: 认证方法,可以为以下值:'user','admin','none'.

    methods: http请求方法,默认为都允许。(GET,POST)

    cors:跨域指示值。

    --------------------------------------------------------------

    JsonRequest:WebRequest子类,处理JSON-RPC(http://wiki.geekdream.com/Specification/json-rpc_2.0.html)的类。

    --------------------------------------------------------------

    HttpRequest:WebRequest子类,处理HTTP请求并响应。

    1.make_response:处理非HTML响应或自定义的headers和cookies

    2.render:显示QWeb模板

    3.not_found:404

    例子1:自定义路径/px 返回字符串“Hello Odoo".    

    import openerp
    from openerp import http
    
    class px(openerp.addons.web.controllers.main.Home):
    
        @http.route(['/px'],type='http',auth='None')
        def px2(self,*args,**kargs):
            return  'Hello Odoo!'

    例子2:自定义路径/px 重定向到网址 bing.com

    import openerp
    from openerp import http
    from openerp.http import local_redirect_with_hash
    
    class px(openerp.addons.web.controllers.main.Home):
    
        @http.route(['/px'],type='http',auth='public')
        def px2(self,*args,**kargs):
            return  local_redirect_with_hash('http://www.bing.com')
  • 相关阅读:
    9、Spring Boot 2.x 集成 Thymeleaf
    【专题】Spring Boot 2.x 面试题
    8、Spring Boot 2.x 服务器部署
    7、Spring Boot 2.x 集成 Redis
    6、Spring Boot 2.x 集成 MyBatis
    5、Spring Boot 2.x 启动原理解析
    4、Spring Boot 2.x 自动配置原理
    3、Spring Boot 2.x 核心技术
    2、Spring Boot 2.x 快速入门
    centOS下安装JDK1.8.60,glassfish4.1.1以及MySQL
  • 原文地址:https://www.cnblogs.com/dancesir/p/8116353.html
Copyright © 2011-2022 走看看