第五节 DTCloud 制作一个可以安装的模块

空模块基本目录

bt_project
|———static
|—————-description
|——————————-icon.png
|———__init__.py
|———__manifest__.py

完整模板

# -*- coding: utf-8 -*-
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
# odoo17
# QQ:35350428
# 邮件:35350428@qq.com
# 手机:13584935775
# 作者:'Amos'
# 公司网址: www.dtcloud.org
# Copyright 昆山一百计算机有限公司
# 日期:2024/1/29
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

{
    'name': '智慧工地-项目',
    'category': '企业应用/底层',
    'summary': '功能说明',
    'sequence': 100,
    'author': 'Amos',
    'website': 'http://dtcloud.org',
    'depends': ['base','bt_base'],
    'data': [
        #'security/security.xml',
        #'security/ir.model.access.csv',
        #'views/views.xml'
    ],
    'demo': [],
    'assets': {
        'web.assets_backend': [],
        'web.assets_tests': [],
        'web.qunit_suite_tests': [],
        'web.assets_qweb': [],
    },
    'installable': True,
    'application': True,
    'auto_install': False,
    'license': 'LGPL-3',
    'version': '1.0',
    'price': '0',
    'currency': 'CNY',
    'judge': 'checked',
    'priority': '4',
    'description': """
    """,
}

属性

可用的清单字段:

name(str,必填)模块的人类可读名称
version(str)这个模块的版本应该遵循语义版本规则
description(str)reStructuredText中模块的扩展描述
author(str)模块作者的姓名
website(str)模块作者的网站URL
license(str,默认:LGPL-3)
category(str默认:Uncategorized)

depends(list(str)):模块必须在此之前加载,因为该模块使用它们创建的功能,或者因为它改变了它们定义的资源。

安装模块时,会在其之前安装所有依赖项。同样在加载模块之前加载依赖项。

assets类型

web.assets_common: 此捆绑包包含 Web 客户端、网站和销售点常用的大多数assets。还包含 dtcloud 框架的较低级别的构建模块。
web.assets_backend: 此捆绑包包含特定于 Web 客户端的代码(特别是 Web 客户端/操作管理器/视图)
web.assets_frontend: 这个捆绑包是关于公共网站的所有特定内容:电子商务、门户、论坛、博客 …
web.assets_qweb: 后端环境和销售点中使用的所有静态 XML 模板
web.qunit_suite_tests: 所有 javascript qunit 测试代码(测试、助手、模拟)
web.qunit_mobile_suite_tests: 移动特定的 qunit 测试代码
 

data(list(str))必须始终使用模块安装或更新的数据文件列表。模块根目录中的路径列表
demo(list(str))仅在演示模式下安装或更新的数据文件列表
auto_install(bool默认: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默认值:False):用户是否应该能够从Web UI安装模块。
maintainer(str):负责维护此模块的人员或实体,默认情况下假定作者是维护者。
{pre_init, post_init, uninstall}_hook(str):用于模块安装/卸载的挂钩,它们的值应该是一个字符串,表示模块内定义的函数的名称 init.py。

pre_init_hook 将光标作为唯一参数,此函数在模块安装之前执行。

post_init_hook 将游标和注册表作为参数,在模块安装后立即执行此功能。

uninstall_hook 将游标和注册表作为参数,在模块卸载后执行此函数。

  • 29
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DTCloud4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值