odoo17 | 体系结构概述

发布时间:2024年01月16日

多层应用程序

Odoo遵循多层架构,这意味着演示,业务逻辑和数据存储是分开的。更具体地说,它使用三层架构 (图片来自维基百科):
三层架构

表示层是HTML5、JavaScriptCSS的组合。逻辑层是专门用Python编写的,而数据层只支持PostgreSQL作为RDBMS

根据模块的范围,可以在这些层中的任何一层进行Odoo开发。因此,在进一步学习之前,如果你对这些主题没有中级水平,那么刷新一下你的记忆可能是个好主意。

为了完成本教程,您将需要非常基本的HTML知识和中级水平的Python。高级主题将需要更多其他科目的知识。有很多免费的教程,所以我们不能推荐一个而不是另一个,因为这取决于你的背景。

作为参考,这是官方的 Python 教程

注意

  • 从15.0版本开始,Odoo正在积极过渡到使用自己内部开发的OWL 框架作为其表示层的一部分。旧版 JavaScript 框架仍受支持,但会随着时间的推移而被弃用。这将在 高级主题。

Odoo模块

服务器和客户端扩展都打包为模块,这些模块可以选择性地加载到数据库中。模块是针对单一目的的功能和数据的集合。

Odoo 模块既可以向 Odoo 系统添加全新的业务逻辑,也可以更改和扩展现有的业务逻辑。可以创建一个模块,将您所在国家的会计规则添加到 Odoo 的通用会计支持中,而另一个模块可以添加对公交车队实时可视化的支持。

Odoo中的一切都是以模块开始和结束的。

术语:开发人员在Odoo模块中组织他们的业务功能。面向用户的主要模块被标记并作为应用程序公开,但大多数模块不是应用程序。模块也可以称为插件,Odoo服务器找到它们的目录构成addons_path

模块的组成

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

业务对象

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

对象视图

定义 UI 显示

数据文件

声明模型数据的 XMLCSV 文件:

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

Web 控制器

处理来自 Web 浏览器的请求

静态 Web 数据

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

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

模块结构

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

Odoo模块由其清单声明。

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

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

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

Odoo版本

Odoo有两个版本:Odoo企业版(许可和共享资源)和Odoo社区 (开源)。除了支持或升级等服务外,企业版还提供额外的服务 Odoo的功能。从技术角度来看,这些功能只是安装在社区版本提供的模块之上的新模块。

文章来源:https://blog.csdn.net/weixin_40986713/article/details/135623698
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。