odoo(三):__manifest__.py清单文件

文件清单文件用于将 python 包声明为 Odoo 模块并指定模块元数据

它是一个名为__manifest__.py并包含单个 Python 字典的文件,其中每个键指定模块元数据。

{
    'name': "A Module",
    'version': '1.0',
    'depends': ['base'],
    'author': "Author Name",
    'summary': "Summary"
    'category': 'Category',
    'description': """
    Description text
    """,
    # data files always loaded at installation
    'data': [
        'views/mymodule_view.xml',
    ],
    # data files containing optionally loaded demonstration data
    'demo': [
        'demo/demo_data.xml',
    ],
}

可用的清单字段包括:

name(str, 必填)
  模块的可读名称
	
version(str)
  此模块的版本,应遵循语义版本控制规则,参考 https://semver.org/
	
description(str)
  模块的扩展描述
	
author(str)
  模块作者姓名
	
website(str)
  模块作者的网站 URL
	
license(str,默认值LGPL-3)
  模块的分发许可证。可能的值:
    GPL-2
    GPL-2 or any later version
    GPL-3
    GPL-3 or any later version
    AGPL-3
    LGPL-3
    Other OSI approved licence
    OEEL-1(Odoo 企业版许可证 v1.0)
    OPL-1(Odoo 专有许可证 v1.0)
    Other proprietary
		
category(str, 默认值: Uncategorized)
    Odoo 中的分类类别,模块的粗略业务领域。
    尽管建议使用现有类别,但该字段是自由格式的,并且会即时创建未知类别。可以使用分隔符 / 创建类别层次结构
    例如:Foo/Bar 将创建一个类别Foo,一个类别Bar作为Foo的子类别,并将Bar设置为模块的类别。
	
depends(list(str))
  本模块所依赖的模块
  必须在此之前加载的 Odoo 模块,因为该模块使用了他们创建的功能,或者因为它改变了他们定义的资源。
  安装一个模块时,它的所有依赖项都安装在它之前。同样,在加载模块之前加载依赖项。
  base模块总是安装在任何 Odoo 实例中。但是您仍然需要将其指定为依赖项,以确保您的模块在更新时base得到更新。
	
data(list(str))
  加载的处理文件,总是加载
  必须始终随模块安装或更新的数据文件列表。来自模块根目录的路径列表
	
demo(list(str))
  演示数据,仅在演示模式下安装或更新的数据文件列表
	
qweb(list(str))
  模板

auto_install(bool或list(str),默认值False)
  是否自动安装
  如果True,如果安装了所有依赖项,则会自动安装此模块。
  它通常用于“链接模块”,实现两个原本独立的模块之间的协同集成。
  如果它是一个列表,它必须包含依赖项的子集。安装子集中的所有依赖项后,将自动安装此模块。其余的依赖项也将自动安装。如果列表为空,则无论其依赖关系如何,该模块将始终自动安装,并且这些也将被安装。

external_dependencies(dict(key=list(str)))
  包含 python 和/或 二进制依赖项的字典。
  对于 python 依赖python项,必须为此字典定义键,并且应为其分配要导入的 python 模块列表。
  对于二进制依赖bin项,必须为此字典定义键,并应为其分配二进制可执行文件名称列表。
  如果主机中未安装 python 模块或在主机的 PATH 环境变量中找不到二进制可执行文件,则不会安装该模块。

application (bool, 默认值: False)
  该模块应该被视为一个成熟的应用程序(True)还是只是一个技术模块(False),它为现有的应用程序模块提供了一些额外的功能。
	
css(list(str))
  指定要导入的具有自定义规则的 css 文件,这些文件应位于static/src/css模块内部。

images(list(str))
  指定模块要使用的图像文件。
	
installable(bool, 默认True)
  用户是否应该能够从 Web UI 安装模块。

maintainer(str)
  负责本模块维护的个人或实体,默认假定作者为维护者。

{pre_init, post_init, uninstall}_hook(str)
  用于模块安装/卸载的钩子,它们的值应该是一个字符串,表示在模块的__init__.py中定义的函数名。
  pre_init_hook将游标作为其唯一参数,此函数在模块安装之前执行。
  post_init_hook将游标和注册表作为其参数,此函数在模块安装后立即执行。
  uninstall_hook将游标和注册表作为其参数,该函数在模块卸载后执行。
  仅当此模块所需的设置/清理非常困难或无法通过 api 进行时,才应使用这些钩子。
posted @ 2021-12-20 10:47  pure3417  阅读(187)  评论(0编辑  收藏  举报