Odoo15官方文档 开发 核心教程 第1章:架构概述

分层应用

Odoo遵循分层架构,这意味着表示层、业务逻辑层和数据存储层是分离的。更具体地说,它使用了三层架构。
在这里插入图片描述
表示层是HTML5、JavaScript和CSS的组合。业务逻辑层专门用Python编写,而数据存储层仅支持PostgreSQL作为RDBMS。

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

为了完成本教程,您需要非常基本的HTML知识和中级Python水平。高级主题需要更多其他方面的知识。

备注:
自15.0版以来,Odoo正在积极过渡到使用其内部开发的OWL框架作为其表示层的一部分。遗留JavaScript框架仍然受支持,但随着时间的推移,它将被弃用。这将在高级主题中进一步讨论。

Odoo模块

服务器和客户端扩展都打包为模块,可以选择将其加载到数据库中。模块是针对单一用途的函数和数据的集合。

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

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

术语:开发人员将其业务功能分组到Odoo模块中。面向用户的主要模块被标记为Apps并公开,但大多数模块不是Apps。模块也可以被称为addons,在Odoo服务器addons_path路径下能找到它们。

模块的组成

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

  • 业务对象
    业务对象(例如发票)被声明为Python类。通过ORM层,这些类中定义的字段自动映射到数据库列。
  • 对象视图
    定义UI显示
  • 数据文件
    声明模型数据的XML或CSV文件:
  • Web控制器
    处理来自Web浏览器的请求
  • 静态Web数据
    Web界面或网站使用的图像、CSS或JavaScript文件

这些元素都不是必须的。一些模块可能只添加数据文件(例如特定于国家/地区的会计配置),而其他模块可能只添加业务对象。在本次培训中,我们将创建业务对象、对象视图和数据文件。Web控制器和静态Web数据在高级主题中。

模块结构

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

Odoo模块由其清单声明。

当一个Odoo模块包含业务对象(即Python文件)时,它们被组织为一个带有__init__.py文件的Python包。该文件包含模块中各种Python文件的导入说明。

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

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

Odoo的版本

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

准备好开始了吗?在编写实际代码之前,让我们进入下一章来回顾Odoo的安装过程。即使您的系统上已经运行了Odoo,我们强烈建议您阅读本章,以确保我们在开发新应用程序时从同一页开始。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值