模块目录结构说明
一、模块的一般目录结构
二、各个文件夹使用讲解
(1)、init.py:Python代码由 init.py加载,通过该文件导入.py文件及代码子目录,只要目录中包含的Python代码文件,就会由其内部的__init__.py导入。
(2)、manifest.py:模块声明文件,manifest.py文件中对当前模块进行一些描述声明。例如:data和demo键名所声明的是供加载的数据文件,通常是用户界面、fixture数据和演示数据中会使用到的XML和CSV文件。还可使用YAML文件,可以包含一些模块加载时运行的过程指令,例如,通过程序生成或更新记录而非在XML文件中加入数据。
(3)、controllers:自定义的控制器实现,自定义一些网页或功能可通过Controller实现,包含网站控制器的代码文件,用于为模块提供各种功能。
(4)、data:初始化数据文件目录
(5)、i18n:国际化文件目录,针对不同语言有相应的翻译文件与其对应,用户登录成功后在首选中修改语言后,系统会自动查找相应的翻译文件
(6)、models:包含后端代码文件,模块中使用到的所有对象模型,相应的业务逻辑代码都在次目录下的文件中,模型对象继承自models.Model
(7)、security:权限控制目录,ir.model.access.csv文件中保存不同用户分组对相应模型对象的增删改查的权限控制。
(8)、static:静态资源目录。description目录是一个项目描述目录,icon.png是模块的图片,在应用看板中可以看到;此文件名称都是固定的,图片尺寸最好是100*100;也可在此目录下使用一些html格式的文件对模块做一个描述。src目录是一些资源目录如:js、css、images、xml
(9)、views:视图文件目录。models目录下的模型对象的视图文件,如表单视图、列表视图、搜索视图、看板视图等等
三、创建ODOO 包结构
- 手动按需新建
2、使用odoo-bin.py文件,通过执行它提供的命令行,可以快速创建一个odoo包结构:
odoo-bin scaffold module_name module_save_address
举例:
我要在community_odoo文件夹下新建一个ossdownload ODOO包,可以使用如下命令:
/home/tderp/.conda/envs/odoo12/odoo-dev/odoo-20210524/odoo-bin scaffold ossdownload ../community_odoo/
命令成功运行后,已经产生了我们需要的文件夹和文件
演示:
用户名:admin
密码:admin