odoo模块创建
一:配置准备
我们在odoo10源码的debian目录下找到odoo.conf文件,这就是odoo10的配置文件。我们可以拷贝它到项目根目录下进行修改,然后在pycharm中指定项目的启动配置为根目录下的odoo.conf。也可以直接修改debian目录下的odoo.conf,指定项目启动目录为这个conf文件的所在路径(不过不建议这样做,因为会覆盖掉默认配置,不方便出错后还原)
我们在odoo.conf中,修改Postgresql的主机地址、账户、密码等,并配置模块的存放路径,一般为 XXXX\odoo\addons。
实际开发时,为了避免与odoo自带模块所混淆,我们一般把自己的模块放到其他文件夹去。
所以,在addons_path后面加上我们单独存放模块的文件夹名:
[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = 127.0.0.1 db_port = 5432 db_user = odoo db_password = odoo addons_path =addons,myaddons
二:新建模块
在myaddons目录下,新建一个文件夹,作为模块所在目录。
在其中,新建
__init__.py与__manifest__.py(odoo8中叫__openerp__.py)两个文件,则把该目录转变成了模块,Odoo依赖这两个文件去识别一个文件夹下是否保存一个模块。
三:修改__manifest__.py
该文件里保存了一个dict对象,对象内容是整个模块的描述,用于显示在模块的详情页。
一般信息有:(不需要全写,需要的才写,避免出现空的值造成安装报错(IOERROR:file not found))
{ 'name':"模块名称", 'summary':"模块概述", 'version':'版本', 'category':'模块所属分类', 'sequence':模块在应用菜单中的序号位置, 'author':'开发者名字', 'website':'网站', 'depends':['依赖模块(需要用到其他模块的内容,则填写依赖模块的名字)在安装本模块时,会先安装依赖模块'], 'data':['数据文件.xml'], 'qweb':['视图文件.xml'], 'demo':['默认添加的示范数据.xml'], 'test':['测试数据.xml'], 'installable':True, 'application':True, 'auto_install':False, 'description':'''模块详细描述''', }
installabel
- 默认True,可设为False禁用该模块
- auto_install
- 默认False,如果设为True,则根据其依赖模块,如果依赖模块都安装了,那么这个模块将自动安装,这种模块通常作为胶合(glue)模块。
- application
- 默认False,如果设为True,则这个模块成为一个应用了。你的主要模块建议设置为True,这样进入Odoo后点击本地模块,然后默认的搜索过滤就是
应用
,这样你的主模块会显示出来。
四:为模块添加图片
新建static目录,创建descrpition文件夹。
在其中,放入一个名为"icon"的图片文件,切记:odoo依靠文件名来识别,所以必须是icon命名。
之后,就可以在应用列表看到自己的模块了。
五:__init__.py的使用
该文件用于导入模块中需要用到的python类文件。
为了方便管理,我们一般这样做:
新建一个models文件夹,在其中存放python的实体类。models目录下新建一个__init__.py,在其中import 该目录下所有实体类。
然后在模块的__init__.py中,Import models 即可。