(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控制器操作的主要内容,如果未能解决你的问题,请参考以下文章