• odoo模块创建


    一:配置准备

    我们在odoo10源码的debian目录下找到odoo.conf文件,这就是odoo10的配置文件。我们可以拷贝它到项目根目录下进行修改,然后在pycharm中指定项目的启动配置为根目录下的odoo.conf。也可以直接修改debian目录下的odoo.conf,指定项目启动目录为这个conf文件的所在路径(不过不建议这样做,因为会覆盖掉默认配置,不方便出错后还原)

    我们在odoo.conf中,修改Postgresql的主机地址、账户、密码等,并配置模块的存放路径,一般为  XXXXodooaddons。

    实际开发时,为了避免与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 即可。

  • 相关阅读:
    Linux设备驱动第六篇:高级字符驱动操作之iotcl
    Stack的三种含义
    用vs2013+velt-0.1.4进行嵌入式开发 进行海思平台 UBOOT 开发
    学会思考技术背后的那些思想和本质
    Rails 4.0.0 开发环境一切正常,到生成环境发现 无法找到 css 和 js
    一加手机,迟到的惊喜
    附近的人计算方法-----使用mysql脚本计算方法
    如何将Superset嵌入后台系统之实践
    这里是纯干货!2018年深度学习的10个发展预测
    这里是纯干货!2018年深度学习的10个发展预测
  • 原文地址:https://www.cnblogs.com/zcy1103/p/8202649.html
Copyright © 2020-2023  润新知