odoo_views文件夹

news/2025/10/22 8:47:07/文章来源:https://www.cnblogs.com/xixizz/p/19156923

views文件夹

自定义模块中存放用户界面定义的目录,决定模型显示什么,如表单、列表、菜单、看板等

还包括菜单定义文件,..._menu.xml,定时任务cron

所有views目录下的都通过 __manifest__.py 中的 'data' 字段加载。

views核心功能

定义数据如何显示

等视图

创建菜单导航 构建左侧菜单栏

绑定业务动作 <record model="ir.actions.act_window"

控制页面布局 等布局标签

支持交互操作 添加按钮调用Python方法

菜单定义

列表视图

<odoo><record id="hx_inspection_daily_view_list" model="ir.ui.view"><field name="name">hx_inspection_daily_view</field><field name="model">hx.inspection.daily</field><field name="arch" type="xml"><list create="0"><field name="job_id"/><field name="name"/><field name="order"/><field name="evidence_note"/><!-- 使用一个不可见的 field 来提供列标题 --><field name="id" string="佐证图片" invisible="1"/><button name="action_view_evidence" type="object" title="查看佐证" icon="fa-image"/></list></field></record>
</odoo>

在数据库中创建一条 ir.ui.view 记录,告诉odoo如何显示 hx.inspection.daily 模型的数据

是定义试图的UI架构(Architecture),即页面长什么样,表示是一个XML结构,内部包含标签如 <list <form <kanban等

其他属性待补充:

表单视图

<odoo><record id="hx_inspection_daily_view_form" model="ir.ui.view"><field name="name">hx.inspection.daily.form</field><field name="model">hx.inspection.daily</field><field name="arch" type="xml"><form><header><button name="action_confirm" string="确认完成" type="object" class="btn-primary"/><field name="state" widget="statusbar"/></header><sheet><group string="基本信息"><field name="job_id"/><field name="user_id"/></group><group><group><field name="start_time"/></group><group><field name="end_time"/></group></group><notebook><page string="检查明细"><field name="line_ids" nolabel="1"/></page><page string="佐证图片"><field name="evidence_image_ids" widget="many2many_binary"/></page></notebook></sheet></form></field></record>
</odoo>

image-20251021102535371

标签使用?待补充

还可以在sheet里使用 <div> + 自定义样式

<form><sheet><div class="row" style="display: flex; flex-wrap: wrap;"><div style="flex: 1; min-width: 200px; padding: 5px;"><field name="field1"/></div><div style="flex: 1; min-width: 200px; padding: 5px;"><field name="field2"/></div><div style="flex: 1; min-width: 200px; padding: 5px;"><field name="field3"/></div></div></sheet>
</form>

《filed> 标签属性 widget="" 改变字段的显示方式

invisible="1" 隐藏字段 readonly="1" 字段不可编辑 required="1" 强制必填

placeholder=""输入框的提示文字 nolable="1" 不显示字段标签,只显示输入框

《button>在表单中添加一个可点击的按钮

<button name="action_send_email" string="发送邮件" type="object" class="btn-secondary"/>

name 调用模型中python方法名 type="object" 调用当前记录的方法

type="action" 调用一个窗口动作(ir.actions.act_window

string 按钮上显示的文字 class 按钮上显示的文字

动作视图

定义窗口动作 菜单数据视图的桥梁,点击一个菜单时, Odoo应该打开什么内容

ir.actions.act_window 是一种特殊的数据类型,当用户执行某个操作时,请打开一个窗口,并显示指定模型的数据

<odoo><record id="hx_inspection_daily_action" model="ir.actions.act_window"><field name="name">巡检任务列表</field><field name="res_model">hx.inspection.daily</field><field name="view_mode">list,form</field><field name="context">{'search_default_state': 'draft', 'default_user_id': uid}			</field></record>
</odoo>

record 标签 定义一条动作记录

​ id="hx_inspection_daily_action" 这是该动作的 外部ID 其他地方(如菜单)通过这个ID引用

​ model="ir.actions.act_window" 表示这是一条"窗口动作"类型的记录

  1. <field name="name">巡检任务列表</field>

    ​ 定义这个动作的显示名称

    ​ 这个名称出现在

    ​ 菜单项的文字上(如果菜单没有单独定义name

    ​ 浏览器标签页标题

    ​ 面包屑导航中

    1. <field name="res_model">hx.inspection.daily</field>
      

      res_model = Resource Model(资源模型)

      指定要打开哪个数据模型

    2. <field name="view_mode">tree,form</field>
      

      定义默认使用的视图模式

      多个模式用逗号分隔

list,form

​ 意思是:先显示list,允许用户点击进入表单(form)查看详情

  1. <field name="context">...</field> 
    

    传递上下文信息

    <field name="context">{'search_default_state': 'draft', 'default_user_id': uid</field>
    

    键值对 含义

    'search_default_state': 'draft' 打开时,默认筛选状态为"草稿"的记录

    ​ 相当于自动勾选了"草稿"过滤器

​ 'default_user_id': uid 当用户创建新纪录时, user_id 字段自动填

​ 入当前登录用户

💡 uid 是Odoo提供的内置变量,代表当前用户的 ID

image-20251021134913383

image-20251021134954630

流程

​ [菜单] "每日巡检"
​ ↓
​ 绑定 action="hx_inspection_daily_action"
​ ↓
​ Odoo 加载这条 ir.actions.act_window 记录
​ ↓
​ 查看 res_model=hx.inspection.daily
​ ↓
​ 查找 view_mode=list,form 的视图
​ ↓
​ 优先显示列表视图 (list)
​ ↓
​ 用户可浏览、搜索、点击进入 form 视图

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

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

相关文章

认证爆破

web认证爆破 简单弱口令爆破 在burp里抓包单点爆破用户名和密码 带验证码的爆破 重点:抓包不放(验证码不变即绕过) 绕不过可以用 pkav http fuzzer Basic 认证爆破(base64 用bp中的迭代器) 打开发现是一个类似 …

利用RTOS实现LED灯交替闪烁

利用RTOS实现LED灯交替闪烁 1、初始化 (1)时钟源使能RCC启用外部晶振(2)GPIO使能PC0和PC1,改为上拉推挽输出,用于控制小灯(3)RTOS按照如下方式使能RTOS选择一个空闲的计时器,作为基本时钟源2、编辑进程 (1)创建进程…

2025年硅锰合金厂家推荐排行榜,高碳硅锰合金,中碳硅锰合金,低碳硅锰合金,冶金级硅锰合金公司推荐

2025年硅锰合金厂家推荐排行榜:高碳、中碳、低碳及冶金级硅锰合金公司全解析 硅锰合金作为钢铁冶炼中不可或缺的脱氧剂和合金添加剂,其质量直接影响钢材的性能和生产效率。随着钢铁行业向高质化、绿色化转型,对硅锰…

2025年粘度计厂家权威推荐榜:在线旋转振动/实验室反应釜管线在线粘度计专业测评与选购指南

2025年粘度计厂家权威推荐榜:在线旋转振动/实验室反应釜管线在线粘度计专业测评与选购指南 在工业生产与科研实验领域,粘度测量作为流体特性分析的关键环节,其精确度直接影响产品质量与工艺效率。随着自动化技术的快…

树形图博弈

模型介绍 树形图博弈是博弈论中描述序贯博弈的数学模型,它使用树结构来表示博弈过程:节点:表示博弈状态或决策点; 边:表示玩家的行动或选择; 叶子节点:表示博弈结束状态,包含各玩家的收益; 信息集:表示玩家无…

2025年陶瓷过滤机厂家权威推荐榜:专业陶瓷过滤机,真空陶瓷过滤机,高效陶瓷过滤机源头厂家实力解析

2025年陶瓷过滤机厂家权威推荐榜:专业陶瓷过滤机,真空陶瓷过滤机,高效陶瓷过滤机源头厂家实力解析 行业背景与发展趋势 在当今工业固液分离领域,陶瓷过滤机凭借其卓越的过滤效率和节能环保特性,已成为选矿、冶金、…

Alibaba Cloud Linux 4 服务器运维笔记

Alibaba Cloud Linux 4 服务器运维笔记系统安全检查 # 1. 立即更新系统sudo apt update && sudo apt upgrade # Ubuntu/Debiansudo yum update # CentOS/RHEL # 2. 修改所有密码sudo pas…

2025年耳机插座厂家推荐排行榜,DC插座,防水耳机插座,DC防水耳机插座,耳机DC插座公司推荐

2025年耳机插座行业深度解析:权威厂家推荐与技术选型指南 随着消费电子、智能家居和物联网设备的快速发展,耳机插座、DC插座及防水耳机插座作为关键连接组件,其技术要求和市场需求正在经历显著升级。这些看似微小的…

实时通信的头痛-问题不在WebSocket而是你的框架

GitHub 主页 实时通信的头痛?问题不在 WebSocket,而是你的框架 🤯 我记得几年前,我带领一个团队开发一个实时股票看板。📈 最初,大家的热情非常高涨。我们都对能亲手打造一个“活”的应用感到兴奋。但很快,我…

文件不只是数据-一份稳健的文件处理指南

GitHub 主页 文件不只是数据:一份稳健的文件处理指南 📁💾 我永远忘不了那个下午。我们刚刚上线了一个允许用户上传个人头像的新功能。一切看起来都很完美。直到一个用户,出于无心或有意,尝试上传了一个他电脑上…

你的中间件一团糟-是时候修复它了-️

GitHub 主页 中间件(Middleware)。这是 Web 开发中最强大的概念之一,也是最容易被滥用的概念之一。理论上,这是一个美妙的想法:一个由可复用组件构成的管道,可以检查、转换或终止请求。但在实践中,在我多年来使…

自增自减,幂运算,逻辑运算符、短路运算,位运算,字符串连接符,三元运算符复习

自增自减,幂运算,逻辑运算符、短路运算,位运算,字符串连接符,三元运算符复习自增自减,幂运算,逻辑运算符、短路运算,位运算,字符串连接符,三元运算符复习 package com.kun.base;public class Demo02 {public…

20232309 2025-2026-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 1.1学习内容 1.后门的概念,案例 2.Metasploit Framework的基本组成基础库文件 模块(Exploits、Payloads等) 功能程序(msfvenom等) 其他重点学习了msfvenom(支持生成各种平台的 payload 文件)的使用 …

2025年工业风扇厂家权威推荐榜:直流风扇、显卡散热风扇、一体机风扇、轴流风扇及散热风扇源头厂家综合实力解析

2025年工业风扇厂家权威推荐榜:直流风扇、显卡散热风扇、一体机风扇、轴流风扇及散热风扇源头厂家综合实力解析 在工业自动化、电子设备散热和精密温控领域,散热风扇作为关键功能部件,其性能表现直接影响设备运行的…

2025年轻触开关/检测开关厂家推荐排行榜,轻触按键开关,防水轻触开关,贴片轻触开关,检测开关源头厂家精选指南

2025年轻触开关/检测开关厂家推荐排行榜,轻触按键开关,防水轻触开关,贴片轻触开关,检测开关源头厂家精选指南 在电子元器件领域,轻触开关和检测开关作为人机交互的关键部件,其性能直接影响终端产品的用户体验和可…

2025年卫衣厂家推荐排行榜,男女款卫衣,春秋季卫衣,加绒卫衣,印花卫衣源头厂家精选推荐

2025年卫衣厂家推荐排行榜:专业采购指南与品牌深度解析 行业背景与发展趋势 随着休闲服饰市场的持续扩张,卫衣作为兼具舒适性与时尚感的单品,已成为现代人衣橱中不可或缺的组成部分。据行业数据显示,2024年全球卫衣…

2025年护栏厂家推荐排行榜:市政护栏,道路护栏,桥梁护栏,小区护栏,锌钢护栏,阳台护栏公司精选

2025年护栏厂家推荐排行榜:市政护栏,道路护栏,桥梁护栏,小区护栏,锌钢护栏,阳台护栏公司精选 行业背景与发展趋势 护栏行业作为基础设施建设的重要组成部分,近年来随着城市化进程的加速和交通安全意识的提升,呈…

CentOS下安装部署Docker

1、‌设置Docker仓库sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo2、‌安装Docker Enginesudo yum install -y docker-ce docker-ce-…

2025年铁氟龙高温线厂家权威推荐榜:极细铁氟龙/UL10064/UL1332/UL1867铁氟龙线材专业选购指南

2025年铁氟龙高温线厂家权威推荐榜:极细铁氟龙/UL10064/UL1332/UL1867铁氟龙线材专业选购指南 随着电子工业向微型化、高性能化方向发展,铁氟龙高温线作为关键电子组件,在航空航天、医疗设备、汽车电子及通讯设备等…