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')
Odoo 中的 Controller的更多相关文章
- Python odoo中嵌入html简单的分页功能
在odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染 html页面分页内容,这里写了判断逻辑 <!-- 分页 -->< ...
- Odoo中的五种Action详解
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826232.html Odoo中的五种action都是继承自ir.actions.actions模型实现的 ...
- ASP.NET Core MVC 中的 [Controller] 和 [NonController]
前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...
- springmvc中的controller是单例的
今天发现spring3中的controller默认是单例的,若是某个controller中有一个私有的变量a,所有请求到同一个controller时,使用的a变量是共用的,即若是某个请求中修改了这个变 ...
- MVC中的Controller
Controller是MVC模式中的三个核心元素之一. MVC模式中的Controller主要负责响应用户的输入, 并在响应时修改Model. MVC提供的是方法调用的结果, 而不是动态生成的页面. ...
- 利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
Python中没有像C#中有三元表达式 A?B:C 但在python中可以通过 A if condition else B 的方式来达到同样的效果. 例如 : 1 if True else 0 输出 ...
- (19)odoo中的javascript
-----------更新日期15:17 2016-02-16 星期二-----------* 用到的js库 我们可以打开 addons/web/views/webclient_template. ...
- 如何将 Area 中的 Controller 放到独立的程序集?
目录 背景如何将 Area 中的 Controller 放到独立的程序集?备注 背景返回目录 本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式.执行模型和关键扩展点,这里主要说一下如何使用 ...
- Odoo 中使用 celery 实现高性能异步任务队列
详见:http://www.oejia.net/blog/2018/07/09/odoo_task_queue.html 概述 在 odoo 中可以用自带的cron实现异步任务,这个cron基于多线程 ...
随机推荐
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
- c++学习--面向对象一
类与对象一 一 注意的点 1 利用构造函数给数据成员初始化的两种办法:1 赋值语句,2 用成员初始化列表 解释:1 成员初始化列表的一般形式为: 数据成员名1(初始值1),数据成员名2(初始值2) 2 ...
- 缩略信息是: sending message to a Handler on a dead thread 我是用IntentService时报的
稍微纤细一点儿的信息是: Handler (android.os.Handler) {215ddea8} sending message to a Handler on a dead thread. ...
- hibernate中的cascade和inverse
以Student和class为例,一个Student对应一个class,一个class对应多个Student. Student.hbm.xml <?xml version="1.0&q ...
- ReferenceError: $ is not defined (绝对路径和相对路径)
今天使用JQuery时,进入js文件后一直达不到想要的效果,在firebug上调试后发现报错提示"ReferenceError: $ is not defined",显然,这是JQ ...
- leetcode-【hard】273. Integer to English Words
题目: 273. Integer to English Words Convert a non-negative integer to its english words representation ...
- Linux 用户和用户组管理
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...
- 应用Druid监控SQL语句的执行情况
Druid是什么? Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBo ...
- ios10 no route to host
IdTCPClient1 ios10 no route to host IOS 9 正常 IOS10 出错,参考下面的设置解决问题 http://www.sh-huhe.com/solution/14 ...
- java中值传递和引用传递
最近工作中使用到了值传递和引用传递,但是有点懵,现在看了下面的文章后清晰多了.一下是文章(网摘) 1:按值传递是什么 指的是在方法调用时,传递的参数是按值的拷贝传递.示例如下: public clas ...