zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    linux 进入 GNOME X 界面
    POJ 3436 ACM Computer Factory (拆点+最大流)
    学习:EF(Entity Framwork)结构【转】
    .net上传Excel,解析Excel,导出CSV
    在Handler里面使用Session
    如何用JavaScript判断访问的来源是电脑还是手机,是什么浏览器?
    ASP.NET List泛型分页代码 【转】
    ASP.NET MVC中实现多个按钮提交的几种方法【转】
    清空数据库所有表,所有存储过程SQL语句
    可以不被浏览器拦截的弹出窗口
  • 原文地址:https://www.cnblogs.com/odoo14/p/12867480.html
Copyright © 2011-2022 走看看