• Odoo安装教程3-创建新的插件模块第二讲


    创建模块目录和声明文件

    现在就准备好了~/odoo-dev/custom-addons 目录,已正确添加至 addons 路径,Odoo 也就可以找到这里的模块。Odoo 自带一个 scaffold 命令可自动创建新模块目录,其中会包含基础
    结构。此处并不会使用该命令,而是手动创建。通过以下命令可以了解 scaffold 用法:
    ~/odoo-dev/odoo/odoo-bin scaffold --help
    Odoo 模块目录需包含一个__manifest__.py 描述性文件,同时还需要是可导入的包,所以还应包含__init__.py 文件。
    “ 小贴士:在老版本中,该描述性文件为__openerp__.py 或__odoo__.py,这些名称已过时但仍可使用。”

    模块目录名是其技术名称,我们使用 library_app,技术名称应是有效 Python 标识符,即以字母开头且仅能包含字母、数字和下划线。执行如下步骤来初始化新模块:
    1、通过命令行,我们可以添加一个空的__init__.py 文件来初始化模块:
    mkdir -p ~/odoo-dev/custom-addons/library_app
    touch ~/odoo-dev/custom-addons/library_app/__init__.py
    2、下面添加声明文件,其中应包含一个 Python 字典,有几十个可用属性。其中仅 name 属性为必填,但推荐同时添加 description 和 author 属性。在__init__.py 同级创建
    __manifest__.py 文件,添加以下内容:
    {
    'name': 'Library Management',
    'description': 'Manage library book catalogue and lending.',
    'author': 'www.oscg.cn',
    'depends': ['base'],
    'application': True,
    }
    depends 属性可以是一个包含所用到的模块列表。Odoo 会在模块安装时自动安装这些模块,这不是强制属性,但建议使用。如果没有特别的依赖,可以添加内核 base 模块。应注意将所有依赖都在此处列明,否则,模块会因缺少依赖而报错或出现加载错误(如果碰巧依赖模块在随后被加载了)。
    我们的应用无需依赖其它模块,所以本处使用了 base。为保持简洁,这里仅使用了几个基本描述符键:
    ⚫ name:插件模块标题字符串
    ⚫ description:功能描述长文件,通常为 RST 格式
    ⚫ author:作者姓名,本处为一个字符串,可以是逗号分隔的一系列姓名
    ⚫ depends:一个依赖插件模块列表,在模块安装时会先安装这些插件
    ⚫ application:一个布尔型标记,代表模块是否在应用列表中以 app 展现
    description 可由模块顶层目录中的 README.rst 或 README.md 代替,如果两者都不存在,将使用声明文件中的 description。在真实场景中,建议也同时使用其它属性名,因它们与 Odoo 的应用商店有关:
    ⚫ summary:显示为模块副标题的字符串
    ⚫ version::默认为 1.0,应遵守版本号规则。建议在模块版本号前加上 Odoo 版本,如
    12.0.1.0
    ⚫ license::默认为 LGPL-3
    ⚫ website:了解模块更多信息的 URL,可以帮助人们查看更多文档或提供文件 bug 和建议的
    跟踪
    ⚫ category::带有模块功能性分类字符串,缺省为 Uncategorized。已有分类可通过安全组表
    单(位于 Settings > Users & Companies > Groups)的 Application 字段下拉列表查看
    (需开启调试模式)
    还有以下描述符键:
    ⚫ installable:默认为 True,但可以通过设置为 False 来禁用模块
    ⚫ auto_install:若设置为 True,在其依赖已安装时会自动安装,用于胶水模块,用于同一实例上两个模块安装后功能的连接。

    更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/

  • 相关阅读:
    Console命令详解,让调试js代码变得更简单
    Css中常用中文字体的Unicode编码对照
    【JQuery】性能优化方法
    document.querySelector和querySelectorAll方法
    JavaScript获取手机屏幕翻转方法
    内层元素设置position:relative后父元素overflow:hidden overflow:scroll失效 解决方法
    【JQuery Zepto插件】图片预加载
    【JQuery插件】元素根据滚动条位置自定义吸顶效果
    【JQuery插件】团购倒计时
    禁止浏览器上下拖拽方法
  • 原文地址:https://www.cnblogs.com/odoo14/p/12867480.html
Copyright © 2020-2023  润新知