“创建模块的基本框架”的版本间的差异
来自Odoo大V社-odoo中文开发手册
(未显示1个用户的2个中间版本) | |||
第14行: | 第14行: | ||
它还需要是 Python 可导入的,因此它还必须有一个 __init__.py 文件。 | 它还需要是 Python 可导入的,因此它还必须有一个 __init__.py 文件。 | ||
− | 模块的目录名称是其技术名称。 我们将使用todo_app。 | + | 模块的目录名称是其技术名称。 我们将使用todo_app。 文件名称必须是有效的Python标识符:它应以字母开头,并且只能包含字母,数字和下划线字符。 |
− | 以下命令将创建模块目录并在其中创建一个空的__init__. | + | 以下命令将创建模块目录并在其中创建一个空的__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文件,其中包含以下内容 | |
{ | { | ||
'name': 'To-Do Application', | 'name': 'To-Do Application', | ||
第30行: | 第29行: | ||
'application': True, | 'application': True, | ||
} | } | ||
− | + | depends 属性可以包含所依赖的其他模块的列表。 当安装此模块时,Odoo 将自动安装它们。 这不是一个强制性的属性,但建议总是包含它。 如果不需要特定的依赖,我们应该依赖于核心 base 模块。 | |
− | + | 你应该注意确保所有依赖关系在这里明确设置; 如果其所依赖的模块在其之后加载,模块可能无法安装在干净的数据库(由于缺少依赖关系)或有加载错误。 | |
对于我们的应用程序,我们不需要任何特定的依赖关系,因此我们仅依赖于 base 模块 | 对于我们的应用程序,我们不需要任何特定的依赖关系,因此我们仅依赖于 base 模块 | ||
第41行: | 第40行: | ||
license 许可证标识符,默认为LGPL-3 | license 许可证标识符,默认为LGPL-3 | ||
website 网站是一个用于查找有关模块的更多信息的URL。 这可以帮助人们找到更多的文档或问题跟踪,以提出 Bug 和建议。 | website 网站是一个用于查找有关模块的更多信息的URL。 这可以帮助人们找到更多的文档或问题跟踪,以提出 Bug 和建议。 | ||
− | category是模块的功能类别,默认为Uncategorized。 现有类别的列表可以在【应用程序】下拉列表中的安全组表单(设置|用户| | + | category是模块的功能类别,默认为Uncategorized。 现有类别的列表可以在【应用程序】下拉列表中的安全组表单(设置|用户|组)中找到其它可用的描述符: |
− | + | installable 默认为 True,但可以设置为 False 以禁用模块 | |
− | + | auto_install 如果设置为True,此模块将被自动安装,前提是其所有依赖项都已安装。 它用于必装模块 | |
− | + | ||
从Odoo 8.0 开始,我们可以在模块的顶层目录中使用 README.rst 或 README.md 文件替代描述键。 | 从Odoo 8.0 开始,我们可以在模块的顶层目录中使用 README.rst 或 README.md 文件替代描述键。 | ||
+ | 上一节:[[修改和扩展模块]] | ||
+ | 下一节:[[关于许可证]] |
2017年4月17日 (一) 02: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 文件替代描述键。
上一节:修改和扩展模块 下一节:关于许可证