来自  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的更多相关文章

  1. Python odoo中嵌入html简单的分页功能

    在odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染 html页面分页内容,这里写了判断逻辑 <!-- 分页 -->< ...

  2. Odoo中的五种Action详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826232.html Odoo中的五种action都是继承自ir.actions.actions模型实现的 ...

  3. ASP.NET Core MVC 中的 [Controller] 和 [NonController]

    前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...

  4. springmvc中的controller是单例的

    今天发现spring3中的controller默认是单例的,若是某个controller中有一个私有的变量a,所有请求到同一个controller时,使用的a变量是共用的,即若是某个请求中修改了这个变 ...

  5. MVC中的Controller

    Controller是MVC模式中的三个核心元素之一. MVC模式中的Controller主要负责响应用户的输入, 并在响应时修改Model. MVC提供的是方法调用的结果, 而不是动态生成的页面. ...

  6. 利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题

    Python中没有像C#中有三元表达式 A?B:C 但在python中可以通过 A if condition else B 的方式来达到同样的效果. 例如 : 1 if True else 0 输出 ...

  7. (19)odoo中的javascript

    -----------更新日期15:17 2016-02-16 星期二-----------* 用到的js库   我们可以打开 addons/web/views/webclient_template. ...

  8. 如何将 Area 中的 Controller 放到独立的程序集?

    目录 背景如何将 Area 中的 Controller 放到独立的程序集?备注 背景返回目录 本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式.执行模型和关键扩展点,这里主要说一下如何使用 ...

  9. Odoo 中使用 celery 实现高性能异步任务队列

    详见:http://www.oejia.net/blog/2018/07/09/odoo_task_queue.html 概述 在 odoo 中可以用自带的cron实现异步任务,这个cron基于多线程 ...

随机推荐

  1. Android jar包的导出和使用

    一.工程打成JAR包. 1.       eclipse下有一工程JsnTxJar,右键工程名选择Export. 选择Java->JAR file 下图所示左边一栏只勾选src,右边一栏都不用勾 ...

  2. ODAC学习地址

    http://www.cnblogs.com/ChinaEHR/p/4471920.html

  3. Good Practices to Write Stored Procedures in SQL Server

    Reference to: http://www.c-sharpcorner.com/UploadFile/skumaar_mca/good-practices-to-write-the-stored ...

  4. SQL Server 2008数据库日志收缩

    GO ALTER DATABASE MCS SET RECOVERY SIMPLE--设置简单恢复模式 GO DBCC SHRINKFILE (MCS_Log, 1) GO ALTER DATABAS ...

  5. oracle_exp_query_where_clause

    每次都忘记这个斜线,记录一下 exp img/123@orclxxx file=d:\bbb.dmp table=(ccc_tab) query=\"where id > 999\&q ...

  6. dedecms讲解-arc.listview.class.php分析,列表页展示

    ./plus/list.php - 动态展示栏目列表页(也可能是频道封面)arc.listview.class.php 是dedecms的列表页的相关处理类__construct()         ...

  7. python基础学习

    1   list ()   定义 2   dict()   转化为字典 3   tuple()  转化为元组 4   sort() 和 sorted()区别 5   a.sort(key=lambda ...

  8. 读取excel数据,并统计输出Frame版本

    package cn.cnnic.ops; import java.awt.Button; import java.awt.FileDialog; import java.awt.FlowLayout ...

  9. 计算机缺失缺少mfc110.dll等相关文件的解决办法

    去https://www.microsoft.com/zh-CN/download/details.aspx?id=30679下载 VSU4\vcredist_x64.exe 和VSU4\vcredi ...

  10. MySQL效能监控工具mysqlreport安装和中文说明

    管理 mysql 最让人困扰的就是如何有效的掌握 MySQL 的健康状况,因为 MySQL 虽然有提供许多系统变量值供您参考,但这些零散的数据若要手动搜集与过滤将会是一件十分没有效率的事情(除非您写 ...