前置条件:需要已经安装odoo
构建一个Odoo模块

服务端扩展和客户端扩展都被封装为模块,这些模块可选择性的被安装,安装完成后通过数据库来加载。模块即可以是全新的业务逻辑,也可以是更改和扩展已有的业务逻辑。比如创建一个中国会计模块,将中国的会计准则添加到Odoo的通用会计中,也可以创建一个全新的实时可视化管理车队的模块。Odoo中的所有功能都是包含在模块中。

模块的组成

Odoo模块包含多个部分:
业务对象
  Python类,这些类会被Odoo框架自动持久化,持久化的方式决定于类的定义。
数据文件
  包括视图、菜单、动作、工作流、权限、演示数据等,以XML或CSV文件定义。
Web控制器
  处理Web浏览器的请求
静态页面数据
  网站或界面使用的图片、CSS或JavaScript文件

模块结构

每个模块都是模块目录中的一个子目录。可以通过--addons-path选项指定模块目录的路径。

启动文件的配置(pycharm):
odoo中的脚手架:scaffold_第1张图片
Odoo模块由清单文件进行声明。查看清单文件文档了解详细信息。模块是一个包含init.py文件的的Python包,init.py文件包含了模块需要的导入的各Python文件。
例如,如果模块中包含mymodule.py文件,init.py应该这样写:

from . import mymodule
Odoo提供了脚手架机制来快速创建新模块,odoo-bin子命令scaffold用来创建一个空模块
$ odoo-bin scaffold <模块名> <模块放置路径>
该命令为模块创建一个子目录,并自动为模块创建一些标准文件。这些文件大多只包含被注释的代码和XML元素。后面将解释这些文件的含义。

1、调用命令odoo-bin scaffold openacademy addons
2、修改模块中的相关文件
3、不要修改其它文件