【odoo】详细解读odoo模块__manifest__文件

概要

        odoo中的__manifest__.py文件,是 Odoo 模块的描述文件,包含该模块的元数据。这个文件使用 Python 字典格式,定义了模块的基本信息和依赖关系。

详细说明

{'name': 'Demo Name',                                                        # 模块名称'version': '17.0.1.0.0',                                                    # 模块版本(注意:17版本一定要保证17.打头,在此之前版本可随意写,但不建议随意)'summary': 'A short summary of the module',                                 # 模块的简要描述'description': """                                                          This module provides custom features for my Odoo instance.""",                                                                        # 模块的详细描述'author': 'Your Name',                                                      # 模块作者'website': 'http://www.yourwebsite.com',                                    # 作者或公司的网站'category': 'Category Name',                                                # 模块分类'depends': ['base', 'sale'],                                                # 依赖的其他模块列表'data': [                                                                   # 数据文件列表,按加载顺序排列(所以这里应该注意视图顺序,否则影响安装升级)'security/ir.model.access.csv',                                         # 安全访问控制文件'views/demo_views.xml',                                                 # 视图定义文件'views/templates.xml',                                                  # 模板定义文件'data/demo_data.xml',                                                   # 静态数据文件'reports/demo_reports.xml',                                             # 报表定义文件],'demo': [                                                                   # 示例数据文件列表,用于演示或测试'demo/demo_demo.xml',],'installable': True,                                                        # 是否可安装'application': True,                                                        # 是否为一个完整应用程序(如果是则显示在应用程序列表,否则作为一个插件进行安装)'auto_install': False,                                                      # 是否自动安装(存在依赖关系时是否允许自动安装)'pre_init_hook': 'pre_init_hook',                                           # 模块安装前执行的钩子函数(可以从模块根目录下的__init__下定义方法,方法结构可以查看官方代码例子)'post_init_hook': 'post_init_hook',                                         # 模块安装后执行的钩子函数(可以从模块根目录下的__init__下定义方法,方法结构可以查看官方代码例子)'uninstall_hook': 'uninstall_hook',                                         # 模块卸载时执行的钩子函数(可以从模块根目录下的__init__下定义方法,方法结构可以查看官方代码例子)'license': 'LGPL-3',                                                        # 模块的许可证类型'external_dependencies': {                                                  # 外部依赖项,包括Python包和系统工具(如果环境不存在则会在安装升级中阻断)'python': ['requests', 'snowballstemmer>10.0'],                         # 列出所需的Python包'bin': ['wkhtmltopdf'],                                                 # 列出所需的系统命令行工具或二进制文件},"assets": {                                                                 # 定义前端资源的资产"web.assets_backend": [                                                 "demo_name/static/src/js/demo_name.js",                             # JavaScript文件'demo_name/static/src/templates/demo_name.xml',                     # XML模板文件'demo_name/static/src/scss/demo_name.scss',                         # SCSS(CSS预处理器)文件],# 定义:后端资产(如JS、CSS文件)(常用,平时开发用到的前端文件基本直接丢这里)# 使用场景:包含所有需要在Odoo后端界面中加载的静态文件,如JavaScript、CSS、SCSS、XML等。这些文件主要用于增强和定制Odoo后端用户界面的功能和样式。'web.assets_common': [],                                                # 定义:公共资产# 使用场景:包含所有Odoo模块中通用的CSS和JS文件,通常用于所有页面。'web.assets_backend_legacy_lazy': [],                                   # 定义:后端遗留资产,懒加载# 使用场景:用于后端的遗留资产,这些资产会在需要时懒加载,以减少初始加载时间。'web.assets_frontend_minimal': [],                                      # 定义:前端最小化资产# 使用场景:包含前端的最小化CSS和JS文件,主要用于提升页面加载性能,适用于对资源要求较高的前端页面。'web.assets_frontend': [],                                              # 定义:前端资产# 使用场景:包含前端常用的CSS和JS文件,用于用户界面的前端部分。'web.assets_frontend_lazy': [],                                         # 定义:前端懒加载资产# 使用场景:前端资产的懒加载版本,减少初始页面加载时间,适用于大规模应用或需要快速响应的前端页面。'web.assets_backend_prod_only': [],                                     # 定义:仅后端生产环境资产# 使用场景:仅在生产环境中使用的后端资产,通常用于优化性能和安全性。'web.pdf_js_lib': [],                                                   # 定义:PDF JS库# 使用场景:包含用于生成和处理PDF文件的JavaScript库,通常用于报告和文档生成。'web.report_assets_common': [],                                         # 定义:报告公共资产# 使用场景:包含生成和显示报告所需的公共CSS和JS文件,适用于所有类型的报告页面。'web.report_assets_pdf': [],                                            # 定义:PDF报告资产# 使用场景:专门用于生成PDF报告的CSS和JS文件,确保PDF格式正确和美观。'web.dark_mode_assets_common': [],                                      # 定义:公共暗模式资产# 使用场景:包含公共的暗模式CSS文件,用于启用应用程序的暗模式界面。'web.dark_mode_assets_backend': [],                                     # 定义:后端暗模式资产# 使用场景:用于后端界面的暗模式CSS文件,提供一致的暗模式体验。'web.dark_mode_variables': [],                                          # 定义:暗模式变量# 使用场景:定义用于暗模式的SCSS变量,方便开发者在暗模式中使用一致的颜色和样式。'web._assets_primary_variables': [],                                    # 定义:主要资产变量# 使用场景:定义主要的SCSS变量,用于整个应用程序中的颜色、字体和其他样式。'web._assets_secondary_variables': [],                                  # 定义:次要资产变量# 使用场景:定义次要的SCSS变量,用于特定模块或组件中的样式。'web._assets_helpers': [],                                              # 定义:辅助资产# 使用场景:包含辅助的SCSS和JS文件,提供常用的工具类和函数。'web._assets_bootstrap': [],                                            # 定义:Bootstrap 资产# 使用场景:包含Bootstrap框架的CSS和JS文件,用于响应式设计和界面布局。'web._assets_backend_helpers': [],                                      # 定义:后端辅助资产# 使用场景:用于后端开发的辅助SCSS和JS文件,提供常用的工具类和函数。'web._assets_frontend_helpers': [],                                     # 定义:前端辅助资产# 使用场景:用于前端开发的辅助SCSS和JS文件,提供常用的工具类和函数。'web.frontend_legacy': [],                                              # 定义:前端遗留资产# 使用场景:包含前端的遗留CSS和JS文件,通常用于兼容老旧系统或过渡期间使用。'web.assets_tests': [],                                                 # 定义:测试资产# 使用场景:包含测试环境中需要的CSS和JS文件,用于开发和调试。'web.tests_assets_common': [],                                          # 定义:公共测试资产# 使用场景:测试环境中常用的公共CSS和JS文件,适用于所有测试用例。'web.tests_assets': [],                                                 # 定义:测试资产# 使用场景:包含特定测试用例所需的CSS和JS文件。'web.qunit_suite_tests': [],                                            # 定义:QUnit 测试套件资产# 使用场景:包含用于QUnit测试框架的CSS和JS文件,适用于前端单元测试。'web.qunit_mobile_suite_tests': [],                                     # 定义:QUnit 移动测试套件资产# 使用场景:包含用于QUnit移动测试的CSS和JS文件,专门用于移动端的单元测试。'web.frontend_legacy_tests': [],                                        # 定义:前端遗留测试资产# 使用场景:包含前端遗留代码的测试CSS和JS文件,用于兼容性测试。},
}

 这里给大家一个偷懒模板,真正开发中不一定所有key都要写!

{'name': 'Demo Name',                                                        'version': '17.0.1.0.0',                                                    'summary': 'A short summary of the module',                                 'description': """                                                         This module provides custom features for my Odoo instance.""",                                                                        'author': 'Your Name',                                                      'website': 'http://www.yourwebsite.com',                                    'category': 'Category Name',                                                'depends': [],                                                'data': [                                                                   'security/ir.model.access.csv',                                         'views/demo_views.xml',                                                 'views/templates.xml',                                                  'data/demo_data.xml',                                                   'reports/demo_reports.xml',                                             ],'demo': [                                                                   'demo/demo_demo.xml',],                               'license': 'LGPL-3',                  "assets": {                                                                 "web.assets_backend": [                                                "demo_name/static/src/js/demo_name.js",                             ],},
}

小结

        多写多敲多思考,毕竟,知己知彼才能看懂源码。

Tip:本人才学尚浅,如有纰漏,还请不吝赐教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NVMe中的Copy命令你知道吗?

前段时间做过copy的相关工作,今天抽出时间来总结一下,共勉 什么是Copy命令 顾名思义,简单理解就是复制,我们可以看看官方文档是如何定义的: The Copy command is used by the host to copy data from one or more so…

Shell脚本 if语句

条件测试: $? 返回码 判断命令或者脚本是否执行成功(最近的一条) 0 true 为真就是成功 成立 非0 false 失败或者异常 test命令 可以进行条件测试 然后根据的是返回值来判断条件是否成立。 -e 测试目录或者文件是否存在 exist -d 测试…

JS 有几种遍历数组的方法

JS 有几种遍历数组的方法,forEach 和 map 有什么区别? for forEach map filter for…of(缺点:没有索引) find(遍历数组,找到第一个符合条件的项,并返回该项;不会继续…

如何在Excel中快速找出含有多位小数的数字

在日常工作中,使用Excel处理数据是一项常见任务。然而,有时我们会遇到一些看似简单,却令人头疼的问题。例如,当我们在一个包含大量数据的列中发现某个数字的小数点位数过多时,如何快速找到这个数字?本文将介…

二开版视频CMS完整运营源码/新版漂亮APP手机模板/集成员分销功能等

一个二开的影视CMS,直接上传源码至网站根目录,访问网站域名即可安装。 测试环境:Nginx 1.20.1—MySQL 5.6.50–PHP-7.2(安装拓展/fileinfo) 上传源码,访问域名直接安装 后台地址:域名/MDadmi…

Vue + Asp.NET调试时出现的证书问题 (OpenSSL)

Vue Asp.NET调试时出现的证书问题 1. 证书过期问题步骤一:创建新的私钥步骤 2: 创建新的证书签名请求(CSR)步骤 3: 使用 CSR 和 CA 私钥签署新证书步骤 4: 替换或使用新证书 2. 证书不受信任问题步骤: 3. 安全证书不指定使用者可选名称步骤一: 删除已生…

基于Python + Flask+ Mysq实现简易留言板

使用Python Flask Mysql实现简易留言板,包括网友编辑留言、修改留言,删除留言、分页显示四大功能。 写出留言板建设过程,包括开发使用工具、留言板模块设计、数据库设计、页面设计、关键技术。 留言板建设过程总结 一.开发使用…

群体优化算法----狗群优化算法(注意没写错并不是狼群优化算法是狗群)介绍以及多峰函数最优解求解

介绍 狗群优化算法(Dog Group Optimization, DGO)是一种新兴的群体智能优化算法,其灵感来自于狗群的社会行为和协作方式。DGO算法利用了狗群在搜寻、合作、信息共享等方面的行为特征,以求解复杂的优化问题 主要概念 狗群行为&a…

云手机游戏托管的实现机制

云手机游戏托管的实现首先依赖于强大的云计算基础设施。 数据中心承载着海量的计算资源,通过虚拟化技术构建出一个个独立的云手机环境,为二游的运行提供了坚实的支撑。这些云手机具备与实体手机相当的性能,能够流畅地运行各类二次元游戏。 在…

仪表板展示|DataEase看中国:2024年高考数据前瞻

背景介绍 2024年高考即将来临。根据教育部公布的数据,2024年全国高考报名人数为1342万人,相比2023年增加了51万人。高考报名人数的增加,既体现了我国基础教育的普及范围之广,也反映了社会对高等教育的重视和需求。 随着中央和各…

“JS加密在线”:简单直接的在线JS加密网站

网站名:“JS加密在线”, 功能:JavaScript源代码加密。 UI: http://jsjiami.online/ 非常简洁的JS加密网站,几乎只有两个功能:上传JS文件、下载加密后的JS文件。 JS加密,就应该这样简单直接。…

使用随机数字或计数器在运行时计算百分比

如果我们需要在运行时计算某些项目的百分比,可以使用 Python 中的随机数生成器或者计数器来模拟这个过程。这取决于我们想要模拟的具体情况和场景。今天我将通过文字方式详细记录我实操过程。 1、问题背景 在处理大量交易时,我们需要对一定比例的交易进…

从源码分析 vllm + Ray 的分布式推理流程

一、前言 随着 LLM 模型越来越大,单 GPU 已经无法加载一个模型。以 Qwen-14B-Chat 模型为例,模型权重大概 28GB,但是单个 NVIDIA A10 仅有 24GB 显存。如果想要在 A10 上部署 Qwen-14B-Chat 模型,我们需要将模型切分后部署到 2 个…

Golang免杀-分离式加载器(传参)AES加密

目录 enc.go 生成: dec.go --执行dec.go...--上线 cs生成个c语言的shellcode. enc.go go run .\enc.go shellcode 生成: --key为公钥. --code为AES加密后的数据, ----此脚本每次运行key和code都会变化. package mainimport ("bytes""crypto/aes"&…

【Three.js】知识梳理十五:相机控制器Controls

在 3D 场景中,摄像机的控制尤为重要,因为它决定了用户如何观察和与场景互动。Three.js 提供了多种相机控制器,最常用的有 OrbitControls、TrackballControls、FlyControls 和 FirstPersonControls。OrbitControls 适合用于查看和检查 3D 模型…

LabVIEW进行负载测试

本文介绍了如何使用LabVIEW进行负载测试,通过一个具体案例详细讲解了测试系统的组成、工作原理和实现方法。系统采用先进的硬件和软件架构,结合LabVIEW的强大功能,成功实现了对设备的高效负载测试,确保了系统的可靠性和性能。 项…

Apache 网站服务基础

Apache 网站服务基础 目录 Apache 网站服务基础 1.1:apache简介 1:Apache 的起源 2:Apache 的主要特点 1.2:安装 httpd 服务器 1:准备工作 2:源码编译及安装 3:确认安装结果 4&#x…

揭秘银行外汇业务:投资与交易的全面指南

银行外汇业务是指银行为客户提供的与外币相关的金融服务。这些业务涉及多个方面,主要包括: 1.外汇存款: 银行接受个人和企业存入的外币资金,并为其提供利息收益。这包括定期和活期存款,以及可能的特殊存款产品。 2.外…

车载网络安全指南 概述(一)

返回总目录->返回总目录<- 目录 前言 参考文档 术语 前言 汽车电子系统网络安全指南给出汽车电子系统网络安全活动框架,以及在此框架下的汽车电子系统网络安全活动、组织管理和支持保障等方面的建议。 汽车电子系统网络安全指南适用于指导整车厂、零部件供应商、软…

借助ServiceDesk Plus,更接近ISO 27001变更管理标准

如果实施不当&#xff0c;变更支持可能会中断业务流程并导致停机。许多组织尚未建立不同的阶段来记录整个变更过程。这通常会导致 IT 环境&#xff0c;在这种环境中&#xff0c;实施变更的成功依赖于单个主题专家。这并不高效&#xff0c;并且对 IT 团队来说可能难以管理和压力…