“创建模块的基本框架”的版本间的差异

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索
 
(未显示2个用户的4个中间版本)
第14行: 第14行:
 
它还需要是 Python 可导入的,因此它还必须有一个 __init__.py 文件。
 
它还需要是 Python 可导入的,因此它还必须有一个 __init__.py 文件。
  
   模块的目录名称是其技术名称。 我们将使用todo_app。 技术名称必须是有效的Python标识符:它应以字母开头,并且只能包含字母,数字和下划线字符。
+
   模块的目录名称是其技术名称。 我们将使用todo_app。 文件名称必须是有效的Python标识符:它应以字母开头,并且只能包含字母,数字和下划线字符。
  
  以下命令将创建模块目录并在其中创建一个空的__init__.py文件,〜/ odoo-dev / customaddons / todo_app / __ init__.py
+
以下命令将创建模块目录并在其中创建一个空的__init__.py文件,〜/ odoo-dev / customaddons / todo_app / __ init__.py
  万一你想通过命令行,下面的命令行你将会用到:
+
如果想通过命令行,下面的命令行你将会用到:
 
   $ mkdir ~/odoo-dev/custom-addons/todo_app  
 
   $ mkdir ~/odoo-dev/custom-addons/todo_app  
 
   $ touch  ~/odoo-dev/custom-addons/todo_app/__init__.py  
 
   $ touch  ~/odoo-dev/custom-addons/todo_app/__init__.py  
  窗体顶端
+
接下来,我们需要创建清单文件。 它只包含一个Python字典,里面大约有十几个可能的属性; 其中,只有 name 属性是必填的。描述属性(对于较长的描述)和作者属性是建议填写的。
  接下来,我们需要创建清单文件。 它需要只包含一个Python字典,大约有十几个可能的属性; 其中,只有name属性是必填的。描述属性(对于较长的描述)和作者属性提供更好的可见性和建议。
+
我们现在应该在__init__.py文件旁边添加一个__manifest__.py文件,其中包含以下内容
  我们现在应该在__init__.py文件旁边添加一个__manifest__.py文件,其中包含以下内容
+
  {
{
+
      'name': 'To-Do Application',     
  'name': 'To-Do Application',     
+
      'description': 'Manage your personal To-Do    tasks.',     
  'description': 'Manage your personal To-Do    tasks.',     
+
      'author': 'Daniel Reis',     
  'author': 'Daniel Reis',     
+
      'depends': ['base'],     
  'depends': ['base'],     
+
      'application': True,  
  'application': True,  
+
  }
}
+
depends 属性可以包含所依赖的其他模块的列表。 当安装此模块时,Odoo 将自动安装它们。 这不是一个强制性的属性,但建议总是包含它。 如果不需要特定的依赖,我们应该依赖于核心 base 模块。
窗体顶端
+
  depends属性可以包含所需的其他模块的列表。 当安装此模块时,Odoo将自动安装它们。 这不是一个强制性的属性,但它建议总是有它。 如果不需要特定的依赖,我们应该依赖于核心基础模块。
+
    窗体顶端
+
你应该小心,确保所有依赖关系在这里明确设置; 否则,模块可能无法安装在干净的数据库(由于缺少依赖关系)或有加载错误,如果偶然其他所需的模块加载后。
+
窗体顶端
+
对于我们的应用程序,我们不需要任何特定的依赖关系,因此我们仅依赖于基本模块
+
  
窗体顶端
+
你应该注意确保所有依赖关系在这里明确设置; 如果其所依赖的模块在其之后加载,模块可能无法安装在干净的数据库(由于缺少依赖关系)或有加载错误。
对于我们的应用程序,我们不需要任何特定的依赖关系,因此我们仅依赖于基本模块
+
窗体顶端
+
为了简明起见,我们选择使用非常少的描述符键,但是在真实的情况下,我们建议您还使用附加键,因为它们与Odoo应用商店相关:
+
  
窗体顶端
+
对于我们的应用程序,我们不需要任何特定的依赖关系,因此我们仅依赖于 base 模块
        摘要显示为模块的字幕。
+
为了简明起见,我们选择使用非常少的描述键,但是在真实的情况下,我们建议您还使用附加键,因为它们与 Odoo 应用商店相关:
  
         窗体顶端
+
         summary 显示为模块的副标题
窗体顶端
+
         version 默认为 1.0。 它应该遵循版本语义规则(详见http://semver.org/)
         版本默认为1.0。 它应该遵循语义版本规则(详见http://semver.org/)
+
         license 许可证标识符,默认为LGPL-3
 
+
         website 网站是一个用于查找有关模块的更多信息的URL。 这可以帮助人们找到更多的文档或问题跟踪,以提出 Bug 和建议。
        窗体顶端
+
         category是模块的功能类别,默认为Uncategorized。 现有类别的列表可以在【应用程序】下拉列表中的安全组表单(设置|用户|组)中找到其它可用的描述符:
         许可证标识符,默认为LGPL-3。
+
        installable 默认为 True,但可以设置为 False 以禁用模块
 
+
        auto_install 如果设置为True,此模块将被自动安装,前提是其所有依赖项都已安装。 它用于必装模块
    窗体底端
+
从Odoo 8.0 开始,我们可以在模块的顶层目录中使用 README.rst 或 README.md 文件替代描述键。
        窗体顶端
+
上一节:[[修改和扩展模块]]
         网站是一个用于查找有关模块的更多信息的URL。 这可以帮助人们找                                    到更多的文档或问题跟踪器,以提出错误和建议。
+
下一节:[[关于许可证]]
 
+
  窗体底端
+
        窗体顶端
+
         category是模块的功能类别,默认为Uncategorized。 现有类别的列 表可以在应用程序字段下拉列表中的安全组表单(设置|用户|组)中找到
+
窗体顶端
+
这些其他描述符键也可用:
+
 
+
      窗体顶端
+
        installable默认为True,但可以设置为False以禁用模块
+
       
+
  窗体底端
+
窗体底端
+
        窗体顶端
+
        auto_install如果设置为True,此模块将被自动安装,前提是其所有依赖项都已安装。 它用于胶模块
+
    窗体顶端
+
    自从Odoo 8.0,替代了描述键,我们可以在模块的顶层目录中使用README.rst或README.md文件
+

2017年4月17日 (一) 10:09的最新版本

按照第一章的指导,我们用odoo开发的时候,需要有odoo sever安装在~/odoo-dev/odoo/目录。为了保持整洁,我们在其旁边建新的目录来存放自定义模块  ~/odoo-dev/custom-addons。

Odoo包括一个scaffold命令来自动创建一个新的模块目录,其基本结构已经就位。 你可以用下面的命令来了解更多。

 $ ~/odoo-dev/odoo/odoo-bin scaffold --help 

在处理下一个模块时,您可能想要记住这一点,但是我们现在不会使用它,因为我们宁愿手动创建模块的所有结构。

  Odoo addon模块是一个包含 __manifest__.py 描述文件的目录
  备注
  在以前的版本中,此描述符文件命名为 __openerp__.py。 此名称仍然受支持,但已被弃用  

它还需要是 Python 可导入的,因此它还必须有一个 __init__.py 文件。

  模块的目录名称是其技术名称。 我们将使用todo_app。 文件名称必须是有效的Python标识符:它应以字母开头,并且只能包含字母,数字和下划线字符。

以下命令将创建模块目录并在其中创建一个空的__init__.py文件,〜/ odoo-dev / customaddons / todo_app / __ init__.py 如果想通过命令行,下面的命令行你将会用到:

  $ mkdir ~/odoo-dev/custom-addons/todo_app 
  $ touch  ~/odoo-dev/custom-addons/todo_app/__init__.py 

接下来,我们需要创建清单文件。 它只包含一个Python字典,里面大约有十几个可能的属性; 其中,只有 name 属性是必填的。描述属性(对于较长的描述)和作者属性是建议填写的。 我们现在应该在__init__.py文件旁边添加一个__manifest__.py文件,其中包含以下内容

 {
     'name': 'To-Do Application',     
     'description': 'Manage your personal To-Do     tasks.',     
     'author': 'Daniel Reis',     
     'depends': ['base'],     
     'application': True, 
 }

depends 属性可以包含所依赖的其他模块的列表。 当安装此模块时,Odoo 将自动安装它们。 这不是一个强制性的属性,但建议总是包含它。 如果不需要特定的依赖,我们应该依赖于核心 base 模块。

你应该注意确保所有依赖关系在这里明确设置; 如果其所依赖的模块在其之后加载,模块可能无法安装在干净的数据库(由于缺少依赖关系)或有加载错误。

对于我们的应用程序,我们不需要任何特定的依赖关系,因此我们仅依赖于 base 模块 为了简明起见,我们选择使用非常少的描述键,但是在真实的情况下,我们建议您还使用附加键,因为它们与 Odoo 应用商店相关:

       summary 显示为模块的副标题
       version 默认为 1.0。 它应该遵循版本语义规则(详见http://semver.org/)
       license 许可证标识符,默认为LGPL-3
       website 网站是一个用于查找有关模块的更多信息的URL。 这可以帮助人们找到更多的文档或问题跟踪,以提出 Bug 和建议。
       category是模块的功能类别,默认为Uncategorized。 现有类别的列表可以在【应用程序】下拉列表中的安全组表单(设置|用户|组)中找到其它可用的描述符:
       installable 默认为 True,但可以设置为 False 以禁用模块
       auto_install 如果设置为True,此模块将被自动安装,前提是其所有依赖项都已安装。 它用于必装模块

从Odoo 8.0 开始,我们可以在模块的顶层目录中使用 README.rst 或 README.md 文件替代描述键。

上一节:修改和扩展模块
下一节:关于许可证