2、构建Odoo模块
点我下载完整odoo的demo
模块组成
- 业务对象
业务对象声明为Python类,由Odoo自动载入。 - 数据文件
XML或CSV文件格式,在其中声明了元数据(视图或工作流)、配置数据(模块参数)、演示数据等。 - Web控制器
处理Web浏览器发来的requests。 - 静态web数据
Web用到的图像,CSS或JavaScript文件。
创建模块命令
odoo.py提供了一个子命令scaffold(脚手架)可以方便地创建一个空的模块. 打开pycharm的Terminal,先创建一个learn文件夹,在Terminal中进入learn文件夹,然后输入下图命令:
python odoo-bin scaffold <模块名称> <模块路径>
比如我的:
python D:\learn\odoo_learn\odoo\odoo-bin scaffold my_first_app .
创建成功后可以看到以下目录结构:
文件夹命名是唯一的,特别注意一点,不能与Odoo官方的模块命名冲突!!!
文件名只能包含[a-z0-9_](小写字母数字和_)
。
使用正确的文件权限:755文件夹和文件644。
模块结构
一个Odoo模块也是一个Python模块, 存放在一个目录中,包含一个__init__.py
文件, 用于导入其他Python模块。
一个模块组织在重要的目录中。那些包含业务逻辑; 看看它们就应该了解模块的目的。
- data /:demo和data xml数据文件命名以模型名称加下划线。例如:account_data.xml
- demo /:演示及测试数据
- doc /:写这个项目模块的目的、作用及相关背景的描述
- i18n /:国际化翻译 建议只保留zh_CN.po
- models/:模型定义
- controllers /:包含控制器(HTTP路由)。
- views /:包含视图和模板
- static /:包含web资源,分为css /,js /,img /,lib /,…
其他可选目录组成模块。 - wizards/:用户互动向导模型(以前称为osv_memory)及其视图。
- report/:包含报告(RML报告[已弃用]),基于SQL视图(用于报告)和其他复杂报告的模型)。Python对象和XML视图包含在此目录中。
- tests /:单元测试案例,包含Python / YML测试。
)。Python对象和XML视图包含在此目录中。
- tests /:单元测试案例,包含Python / YML测试。
后记
【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。
如果文章对您有帮助,请我喝杯咖啡吧!
公众号
关注我,我们一起成长~~