odoo17开发入门教程(1)了解架构

本文介绍了Odoo采用的多层架构,包括表现层、业务逻辑层和数据存储层,详细讲解了各层技术和模块开发的基础,如Python编程、HTML5/CSS/JS的使用以及模块的组成部分。适合初学者了解Odoo模块开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Odoo 遵循多层架构,这意味着表现层、业务逻辑层和数据存储层是分开的。更具体地说,它采用了三层架构:

表现层是 HTML5、JavaScript 和 CSS 的组合。逻辑层完全用 Python 编写,而数据层仅支持 PostgreSQL 作为关系数据库管理系统(RDBMS)。

根据你的模块范围,Odoo 开发可以在这些层中的任何一个进行。因此,在进一步操作之前,如果你对这些主题不是很熟悉,最好回顾一下知识。

为了进行这个教程,你需要具备 HTML 的基本知识和 Python 的中级知识。

Odoo 模块

服务器和客户端扩展都被打包为模块,这些模块可以选择性地加载到数据库中。一个模块是一组旨在单一目的上的函数和数据的集合。

Odoo 模块可以添加全新的业务逻辑到 Odoo 系统,或修改和扩展现有的业务逻辑。

在 Odoo 中,一切都始于模块并以模块结束。

术语:开发者将他们的业务功能分组到 Odoo 模块中。主要面向用户的模块被标记并暴露为应用程序,但大多数模块不是应用程序。模块也可以被称为插件,Odoo 服务器找到它们的目录形成了 addons_path。(不是所有模块都是app,而app都是模块,如果不理解也没关系,后面的教程会讲到)

模块的组成

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

业务对象

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

对象视图

定义 UI 显示

数据文件

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

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

网页控制器

处理来自网页浏览器的请求

静态网页数据

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

这些元素都不是必须的。一些模块可能只添加数据文件(例如,特定国家的会计配置),而其他模块可能只添加业务对象。在这次培训中,我们将创建业务对象、对象视图和数据文件。

模块结构

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

一个 Odoo 模块由其清单声明。

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

这是一个简化的模块目录:

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

Odoo 版本

Odoo 提供两个版本:Odoo 企业版(许可 & 共享源代码收钱)和 Odoo 社区版(开源免费)。

上一篇文章  如何使用Docker安装Odoo 17_odoo docker安装-优快云博客

下一篇文章  odoo17开发入门教程(2):创建一个新的模块module-优快云博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值