前置条件:需要已经安装odoo
构建一个Odoo模块
服务端扩展和客户端扩展都被封装为模块,这些模块可选择性的被安装,安装完成后通过数据库来加载。模块即可以是全新的业务逻辑,也可以是更改和扩展已有的业务逻辑。比如创建一个中国会计模块,将中国的会计准则添加到Odoo的通用会计中,也可以创建一个全新的实时可视化管理车队的模块。Odoo中的所有功能都是包含在模块中。
模块的组成
Odoo模块包含多个部分:
业务对象
Python类,这些类会被Odoo框架自动持久化,持久化的方式决定于类的定义。
数据文件
包括视图、菜单、动作、工作流、权限、演示数据等,以XML或CSV文件定义。
Web控制器
处理Web浏览器的请求
静态页面数据
网站或界面使用的图片、CSS或JavaScript文件
模块结构
每个模块都是模块目录中的一个子目录。可以通过--addons-path选项指定模块目录的路径。
启动文件的配置(pycharm):
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、不要修改其它文件