首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Javascript Odoo 10中调用Python控制器函数

在Javascript中调用Python控制器函数的方法如下:

  1. 首先,在Odoo 10中创建一个Python控制器函数。这个函数可以通过继承http.Controller类来实现。例如,我们创建一个名为MyController的控制器类,并在其中定义一个名为my_function的函数。
代码语言:txt
复制
from odoo import http

class MyController(http.Controller):
    @http.route('/my_controller/my_function', type='json', auth='public')
    def my_function(self, **kwargs):
        # 在这里编写你的Python控制器函数的逻辑
        return {'result': 'success'}
  1. 接下来,在Javascript中使用Ajax请求来调用Python控制器函数。你可以使用XMLHttpRequest对象或者jQuery的$.ajax方法来发送请求。以下是使用XMLHttpRequest对象的示例:
代码语言:txt
复制
var xhr = new XMLHttpRequest();
xhr.open('POST', '/my_controller/my_function', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
        var response = JSON.parse(xhr.responseText);
        // 在这里处理Python控制器函数的返回结果
        console.log(response.result);
    }
};
xhr.send(JSON.stringify({}));
  1. 在上述代码中,我们使用POST请求发送到/my_controller/my_function的URL,并将请求的内容设置为JSON格式。在onreadystatechange事件中,我们检查响应的状态和状态码,如果一切正常,我们解析响应的JSON数据并处理结果。

需要注意的是,你需要将/my_controller/my_function替换为你实际的URL路径。此外,你还可以通过在my_function函数的装饰器中设置auth参数来控制访问权限。

这是在Javascript Odoo 10中调用Python控制器函数的基本方法。根据具体的业务需求,你可以根据需要传递参数、处理返回结果等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo wizard界面显示带复选框列表及勾选数据获取

jsMethodOnModelMethodDone 定义modelMethod方法执行完成后,需要调用javascript方法(注意,包括参数,如果没有参数则写成(),形如 jsMethod())。...jsMethodOnToggleCheckbox 定义点击列表复选框时需要调用javascript方法,比modelMethod优先执行(注意,包括参数,如果没有参数则写成(),形如 jsMethod...this.jsMethodOnModelMethodDone = undefined; // 定义modelMethod方法执行完成后,需要调用javascript方法...this.jsMethodOnToggleCheckbox = undefined; // 定义点击列表复选框时需要调用javascript方法,比modelMethod优先执行 if...} } }, // _onToggleSelection: function (ev) { // 点击列表表头的全选/取消全选复选框时会调用函数

5.2K60

odoo 开发入门教程系列-模块交互

现在,重写操作,仅返回super调用,拿个例子来说可能更清楚: from odoo import models class InheritedModel(models.Model): _inherit.../usr/bin/env python # -*- coding:utf-8 -*- from . import estate_property odoo14\custom\estate_account.../usr/bin/env python # -*- coding:utf-8 -*- from odoo import models class InheritedEstateProperty(models.Model...不幸的是,没有一种简单的方法可以知道如何在Odoo中创建任何给定的对象。大多数时候,有必要查看其模型,以找到所需的字段并提供适当的值。 学习的一个好方法是看看其他模块是如何完成你想做的事情的。.../usr/bin/env python # -*- coding:utf-8 -*- from odoo import models from odoo.exceptions import UserError

1.6K10

odoo ORM API学习总结兼orm学习教程

默认值: False default (值或者可调用对象) – 设置字段的默认值。可以是静态值,或者以结果集为入参,返回某个值的函数。使用 default=None舍弃该字段的默认值。...These helpers are also available by importing odoo.tools.date_utils. class odoo.fields.Date源代码 Python...,这种情况下,依赖通过调用 在这种情况下,通过使用字段的模型调用函数来提供依赖项 odoo.api.depends_context(*args)[源代码] 返回一个修饰符,该修饰符指定非存储的“compute...set1 - set2 返回一个包含仅出现在set1中的记录的记录集 记录集是可迭代的,因此通常的Python工具可用于转换(map(),sorted(),ifilter(),…),然后这些函数返回list...因此,记录集提供以下返回记录集本身的操作(如果可能): Filter Model.filtered(func)[源代码] 参数 func (可调用对象 或者 str) – 一个函数或者点分字段名称序列

13.3K10

什么是Python,它的用途是什么?

与HTML,CSS和JavaScript相比,Python是由Guido van Rossum开发的通用,面向对象的编程语言。...业务应用程序 像Tryton和Odoo这样的业务应用程序是建立在Python之上的。这些解决方案可以处理会计、库存、客户关系管理和其他职责,并用于企业增长。...学习 Python 可以为在数据密集度较低的行业(新闻、经营小型企业或社交媒体营销)工作的人增加就业机会。Python也可能使一些非日常程序员的任务更有效率。...命名大量文件 将文本文件转换为电子表格 随机分配家庭成员执行任务 自动填写在线表格 区块链 Python显示了它的优势,而Javascript,Java,C++和其他语言可能经常用于区块链开发。...Python稳定而灵活,为各个领域的专家提供答案,而不仅仅是编码人员。这解释了Python何在广泛的领域变得如此知名,并突出了该语言的学习是多么简单和基本。

41630

odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)

这也是我们第一次编写Python逻辑。到目前为止,除了类定义和字段声明之外,我们还没有编写任何其他东西。...按约定,compute方法是私有的,这意味着它们不能从表示层调用,只能从业务层调用。私有方法的名称以下划线_开头。 依赖(Dependencies) 计算的字段的值通常取决于计算记录中其他字段的值。...支持标准Python集合运算,比如len(self) 和iter(self), 外加其它集合操作,比如 recs1 | recs2。...为了支持这个需求,odoo提供了使用inverse函数的能力: from odoo import api, fields, models class TestComputed(models.Model...注意,保存记录时调用inverse方法,而每次更改依赖项时调用compute方法。

3.1K30

odoo 权限管理学习总结

(2, ID, values) 使用values字典中的值更新id值=ID的现有记录 (2, ID) 删除id=ID这条记录(调用unlink方法,删除数据及整个主从数据链接关系) (3, ID) 删除主从数据的链接关系但是不删除这个记录...(4, ID) 为id=ID的数据添加主从链接关系 (5) 去除所有的链接关系,也就是循环所有的从数据且调用(3,ID) (6, 0, [IDs]) 用IDs中的记录替换原来链接的记录(相当于先执行...domain是一个可以使用以下变量的python表达式: time Python的 time 模块 user 以单例记录集(singleton recordset)表示的当前用户.../addons/security.html#record-rules 字段权限(Field Access,字段级别) ORM字段可以具有提供组列表的groups属性(值为逗号分隔的组XML ID列表,groups...documentation/14.0/zh_CN/developer/reference/addons/security.html#field-access 扩展:在页面从数据库加载视图时,会通过load_view接口,会调用

10K20

Python自动化开发必备项目之博客网站全实现

由于欠缺前端知识,有些代码直接引用于项目源码,个人做了尽量详尽的注释以帮助理解,希望在今后能够学习HTML、CSS、JavaScript等知识,然后回头重新理解本项目。...RequestHandler清理参数并调用控制器(Django和Flask把这些处理请求的控制器称为view functions) 5....等 orm.py实现Model类:包含基本的getattr,setattr方法用于获取和设置实例属性的值,并实现相应的SQL处理函数find、findAll、save、remove等 model.py...实例中的call方法;再调用call方法中的post或者get方法 调用handlers.py中响应的URL处理函数,并返回结果 response_factory在拿到经URL处理函数返回过来的对象,经过一系列类型判断后...但是也深刻认识到python知识点的不熟练和前端相关知识的匮乏,后续仍要加强python项目练习和前端知识的学习。 ----

1.3K70

盘点一下 PythonJavaScript 的主要区别(详细)

何在Python中命名变量 在Python中,我们应该使用 snake_case 命名样式。 根据Python样式指南: 变量名与函数名遵循相同的约定。...调用window.prompt()时显示的提示 输出 在Python中,我们使用 print() 函数将值打印到控制台,并在括号内传递该值。...此外,PythonJavaScript函数之间还有一个非常重要的区别:函数参数。 在Python中,传递给函数调用的参数数量必须与函数定义中定义的参数数量匹配。如果不是这种情况,将发生异常。...这是JavaScript中的示例: ? 注意如何使用三个参数调用函数,但是函数定义的参数列表中仅包含两个参数。 ?...构造函数和属性 构造函数是一种特殊的方法,当创建类的新实例(新对象)时会调用该方法,它的主要目的是初始化实例的属性。

6.2K30

PythonJavaScript在使用上有什么区别?

何在Python中命名变量 Python推荐使用蛇形命名法(snake_case)。 根据Python样式指南: ž 变量名遵循与函数名相同的约定。...函数参数的数量 在 Python 中,传递给函数调用的参数数必须与函数定义中定义的参数数相匹配。如果不是这样,就会发生异常。 在JavaScript中,这不是必需的,因为参数是可选的。...构造函数和属性 构造函数是一种特殊的方法,当创建类的新实例(新对象)时会调用该方法。它的主要目的是初始化实例的属性。...在Python中,调用了初始化新实例的构造函数init (带有两个前导和尾随下划线)。创建类的实例以初始化其属性时,将自动调用此方法。其参数列表定义了创建实例必须传递的值。...在JavaScript中,构造函数方法被调用,constructor并且它还具有一个参数列表。 ?

4.8K20
领券