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')
  • 相关阅读:
    LeetCode OJ String to Integer (atoi) 字符串转数字
    HDU 1005 Number Sequence(AC代码)
    HDU 1004 Let the Balloon Rise(AC代码)
    HDU 1003 Max Sum(AC代码)
    012 Integer to Roman 整数转换成罗马数字
    011 Container With Most Water 盛最多水的容器
    010 Regular Expression Matching 正则表达式匹配
    007 Reverse Integer 旋转整数
    006 ZigZag Conversion
    005 Longest Palindromic Substring 最长回文子串
  • 原文地址:https://www.cnblogs.com/chjbbs/p/5937355.html
Copyright © 2011-2022 走看看