odoo17入门教程第一章 架构总览

Odoo中的所有内容都以模块开始和结束。

术语:开发人员将他们的业务功能分组到Odoo模块中。面向用户的主要内容 模块被标记为应用程序并公开,但大多数模块都不是应用程序。 模块也可以称为插件和Odoo服务器找到它们的目录 形成 .addons\_path

模块的组成

一个Odoo模块可以包含许多元素:

业务对象

业务对象(例如发票)被声明为 Python 类。中定义的字段 由于 ORM 层,这些类会自动映射到数据库列。

对象视图

定义 UI 显示

数据文件

声明模型数据的 XML 或 CSV 文件:

  • 试图或报告,
  • 配置数据(模块参数化、安全规则)、
  • 演示数据
  • 和更多

Web控制器

处理来自 Web 浏览器的请求

静态 Web 数据

Web 界面或网站使用的图像、CSS 或 JavaScript 文件

这些要素都不是强制性的。某些模块可能只添加数据文件(例如,特定国家/地区的数据文件) 记帐配置),而其他人可能只添加业务对象。在本次培训中,我们将 创建业务对象、对象视图和数据文件。

模块结构

每个模块都是模块目录中的一个目录。模块目录 通过使用–addons-path选择。

Odoo模块由其清单声明。

当Odoo模块包含业务对象(即Python文件)时,它们被组织为带有文件的Python包。此文件包含各种 Python 的导入指令 文件。\_\_init\_\_.py

下面是一个简化的模块目录:

module
├── models
│   ├── *.py
│   └── __init__.py
├── data
│   └── *.xml
├── __init__.py
└── __manifest__.py

Odoo版本

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Odoo 的自定义 Widgets 可以帮助我们在页面上添加自定义的 HTML 元素和 JavaScript 代码。下面是一个基础教程,介绍如何创建自定义 Widgets。 1. 创建一个模块 首先,我们需要创建一个新的模块。在 Odoo 中,所有的自定义组件都应该包含在一个模块中。 2. 创建一个 Widgets 类 接下来,我们需要创建一个 Widgets 类。Widgets 类用于创建自定义的 HTML 元素和 JavaScript 代码。下面是一个简单的例子: ```python odoo.define('my_module.my_widget', function(require) { 'use strict'; var core = require('web.core'); var Widget = require('web.Widget'); var MyWidget = Widget.extend({ template: 'my_module.my_widget_template', init: function(parent, options) { this._super(parent, options); }, start: function() { this._super(); } }); return MyWidget; }); ``` 在这个例子中,我们创建了一个叫做 `MyWidget` 的类,并继承了 `Widget` 类。我们还设置了一个 `template` 属性,用于指定要使用的模板文件。 3. 创建一个模板文件 接下来,我们需要创建一个模板文件,用于定义我们的自定义 HTML 元素。这个模板文件应该包含在模块的 `static/src/xml` 目录下。下面是一个简单的例子: ```xml <template id="my_module.my_widget_template"> <div class="my-widget"> <h1>My Widget</h1> <p>This is my custom widget!</p> </div> </template> ``` 在这个例子中,我们定义了一个名为 `my_module.my_widget_template` 的模板,它包含一个 `div` 元素和一些文本。 4. 注册我们的 Widgets 类 最后,我们需要在模块中注册我们的 Widgets 类。这样,我们的自定义组件才能被正确地加载。下面是一个简单的例子: ```python odoo.define('my_module', function(require) { 'use strict'; var MyWidget = require('my_module.my_widget'); core.action_registry.add('my_module.my_widget', MyWidget); return { MyWidget: MyWidget }; }); ``` 在这个例子中,我们将 `MyWidget` 类添加到 `action_registry` 中,以便它可以被其他地方使用。 现在,我们已经成功地创建了一个自定义的 Widgets。我们可以在 Odoo 中使用它来添加我们想要的自定义 HTML 元素和 JavaScript 代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值