(10)odoo控制器操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(10)odoo控制器操作相关的知识,希望对你有一定的参考价值。

* 一个简单的控制器
   class Mymodule(http.Controller)
       @http.route(‘mymodule/mymodule/‘, auth=‘public‘)
       def index(self)
           return "Hello, world"
           #return http.request.render("mymodule.index",{‘fruits‘:[‘apple‘,‘banana‘,‘pear‘]})
           使用模板
          
   对应的模板文件
    <openerp>
        <data>
           <template id="index">
                <title>mymodule</title>
                <t t-foreach="fruits" t-as="fruit">
                    <p><t t-esc="fruit"></p>
                </t>
           </template>
        </data>
    </openerp>   
   
* 路由
    openerp.http.route(route=None, **kw)
    写法参看 http://werkzeug.pocoo.org/docs/0.11/routing/
   
* 请求
    class openerp.http.WebRequest(httprequest)
    封装的属性
        httprequest: werkzeug.wrappers.Request 原始的request
        params:映射的参数
        env: 当前环境
        context:上下文
        session: 会话
        cr: 数据库操作句柄
        debug:当前是否调试模式
        db:当前连接的数据库
       
    class openerp.http.HttpRequest(*args)
            make_response(data, headers=None, cookies=None)
            not_found(description=None) 404页面的响应
            render(template, qcontext=None, lazy=True, **kw) 带上模板渲染
           
    class openerp.http.JsonRequest(*args)
    返回json   
   
* 响应
    class openerp.http.Response(*args, **kw)
        *args 为
            template (basestring) -- 指定的模板名
            qcontext (dict) -- 渲染的上下文
            uid (int) -- 渲染到模板上的用户id
           
    可用的方法
        render() 渲染指定模板
        flatten() 强制渲染,没有采用模板
           
   
* 控制器
    class openerp.http.Controller
   
    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()

以上是关于(10)odoo控制器操作的主要内容,如果未能解决你的问题,请参考以下文章

(10)odoo控制器操作

如何从 Odoo v10 中删除此控制器错误

odoo 怎么重写模块默认方法

odoo10 ORM操作

Odoo 添加 Treeview Web 控制器

如何在windows7/10上安装odoo