odoo17开发教程(17):美化UI界面

从业务角度来看,我们的房地产模块现在很有意义。我们创建了特定的视图,添加了几个操作按钮和约束条件。不过,我们的用户界面还有些粗糙。我们希望在列表视图中添加一些颜色,并使一些字段和按钮有条件地消失。例如,"已售出 "和 "取消 "按钮应在房产售出或取消时消失,因为此时已不允许更改状态。

本章只介绍了视图中的一小部分功能。如需更全面的概述,请阅读参考文档。

参考:与本章相关的文档可在 View 记录和 View 架构中找到。

内联视图
 

在房地产模块中,我们添加了一个房地产报价列表。我们只需在字段 offer_ids 中添加以下内容:

<field name="offer_ids"/>

该字段使用 estate.property.offer 的特定视图。在某些情况下,我们希望定义一个特定的列表视图,该视图只在表单视图中使用。例如,我们希望显示与某个属性类型相关联的属性列表。但是,为了清晰起见,我们只想显示 3 个字段:名称、预期价格和状态。

实践

添加内联列表视图。

  • 在 estate.property.type 模型中添加 One2many 字段 property_ids。
  • 如本节目标所示,在 estate.property.type 表单视图中添加该字段。

 

class EstatePropertyType(models.Model):
    _name = "estate_property_type"
    _description = "Estate Property Type"

    name = fields.Char(required=True)
    property_ids = fields.One2many("estate_property", "property_type_id")

    _sql_constraints = [
        ("check_name", "UNIQUE(name)", "房产类型必须是唯一的")
    ]
<record id="estate_property_type_view_form" model="ir.ui.view">
        <field name="name">房产类型详情</field>
        <field name="model">estate_property_type</field>
        <field name="arch" type="xml">
            <form string="详情">
                <sheet>
                    <div class="oe_title">
                        <h1>
                            <field name="name"/>
                        </h1>
                    </div>
                    <notebook>
                        <page string="房产列表">
                            <field name="property_ids">
                                <tree>
                                    <field name="name" string="title"/>
                                    <field name="expected_price"/>
                                    <field name="state"/>
                                </tree>
                            </field>
                        </page>
                    </notebook>
                </sheet>
            </form>
        </field>
    </record>

效果如下: 

Widgets小工具

每当我们向模型中添加字段时,我们(几乎)从未担心过这些字段在用户界面中的外观。例如,日期字段提供了日期选择器,而 One2many 字段则自动显示为列表。Odoo 会根据字段类型选择合适的 "部件"。

不过,在某些情况下,我们需要对某个字段进行特定表示,而 widget 属性就可以实现这一点。在使用 widget="many2many_tags" 属性时,我们已经将其用于 tag_ids 字段。如果我们没有使用它,那么该字段就会显示为一个列表。

每个字段类型都有一组小部件,可用于微调其显示。有些小部件还带有额外的选项。可以在字段中找到详尽的列表。 

<field name="state" widget="statusbar" statusbar_visible="open,posted,confirm"/>

实践:使用状态栏部件显示 estate.property 的状态

<field name="state" widget="statusbar" statusbar_visible="offer_received,offer_accepted,sold"/>

效果如下:右边出现了状态条 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Webman全局异常捕获处理

最近在使用webman这个框架做项目开发&#xff0c;涉及到需要统一处理异常捕获。由于官网给的并不详细&#xff0c;于是自己实现了一下全局异常处理类。 一、配置效果 例如&#xff1a;我要在项目中统一返回json 格式数据&#xff0c;并不想在业务层写try,catch逻辑。 或者在业务…

从产品组装和维护/维修的角度来看,基于增强现实的指导:关于挑战和机遇的最新综述

作者&#xff1a; 1. M. Eswaran 2. Anil Kumar Gulivindala 3. M.V.A.Raju Bahubalendruni 关于本文 •分析了增强现实在装配和维护/维修中的作用。 •讨论了AR辅助制造系统的软件和硬件元素。 •讨论了AR跟踪和配准技术面临的挑战。 •讨论了AR辅助制造系统的未来…

使用插件将swagger文档转html或pdf

github上有maven开源插件swagger2markup将swagger文档转为.adoc格式的文档&#xff0c;另外一个maven开源插件asciidoctorj-pdf则可以将.adoc格式的文档转为html和pdf。由于GitHub访问不稳定&#xff0c;在gitee上有镜像项目。所以我就贴gitee上的项目地址了。 实现从swagger文…

【聊一聊】三种工厂模式的创建

三种工厂模式的创建 今天终于星期五了,最近由于碰上一个需求,中间涉及Oracle改国产数据库的改造,好家伙,差点没把我忙坏了 不过今天终于有空啦!~哈哈哈 这篇本应该是上周就结束的,但是拖到今天,我们就今天进行结束 (还有一件快乐的事情,就是我遇见自己喜欢的人啦!嘻嘻) 好啦!~话…

【数字图像处理matlab系列】数组索引

【数字图像处理matlab系列】数组索引 【先赞后看养成习惯】【求点赞+关注+收藏】 MATLAB 支持大量功能强大的索引方案,这些索引方案不仅简化了数组操作,而且提高了程序的运行效率。 1. 向量索引 维数为1xN的数组称为行向量。行向量中元素的存取是使用一维索引进行的。因此…

如何解决Layui后台接口返回数据,但是table.render不渲染表格数据的问题

我这边进行了pareData数据格式转换&#xff0c;response重新定义了layui的参数格式规范 接口正常返回了数据 但是就是不渲染&#xff0c;我这个郁闷啊&#xff01;&#xff01; 忽然&#xff0c;我把后台重新定义的layui规定的格式参数&#xff0c;有个参数名叫data&#xff0…

037—pandas 按指定列堆叠数据

前言 在数据分析中&#xff0c;我们经常需要对数据进行堆叠操作&#xff0c;但 Pandas 提供的 df.stack() 只能按默认索引进行操作&#xff0c;同时堆叠后的列名无法指定&#xff0c;本列我们就来解决这些问题。 读入数据 代码如下&#xff08;示例&#xff09;&#xff1a;…

关于php foreach函数和变量覆盖

foreach函数是PHP中用于遍历数组或对象的函数&#xff08;且仅用于数组的遍历&#xff09;。它允许循环遍历数组中的每个元素&#xff0c;并对每个元素执行相同的操作。foreach语句的基本语法如下&#xff1a; foreach ($array as $value) {//执行的操作 }在这个语法中&#x…

政安晨:【深度学习部署】—— TensorFlow Extended(TFX)介绍

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 前言 TensorFlow Extended&#xff08;TFX&a…

Orbit 使用指南 10|在机器人上安装传感器 | Isaac Sim | Omniverse

如是我闻&#xff1a; 资产类&#xff08;asset classes&#xff09;允许我们创建和模拟机器人&#xff0c;而传感器 (sensors) 则帮助我们获取关于环境的信息&#xff0c;获取不同的本体感知和外界感知信息。例如&#xff0c;摄像头传感器可用于获取环境的视觉信息&#xff0c…

5.windows Ubuntu 子系统,测序数据质量检测。

我们在得到一组或几组测序数据后&#xff0c;比如从测序公司拿到的测序数据为fastq.gz格式&#xff0c;首先我们需要对它们进行MD5检验&#xff0c;确保数据没有问题后才可进入以后的程序。&#xff08;MD5可以进行测序数据完整性验证&#xff1a;MD5可以用于验证数据在传输或存…

IPMI开源库pyghmi基本使用

简介&#xff1a;Pyghmi是一个纯Python&#xff08;主要是IPMI&#xff09;服务器管理库。IPMI&#xff08;Intelligent Platform Management Interface&#xff0c;智能平台管理接口&#xff09;是一种开放的标准&#xff0c;旨在帮助系统管理员在本地和远程管理服务器系统。而…

第十届蓝桥杯大赛个人赛省赛(软件类)真题- CC++ 研究生组-最短路

6 肉眼观察&#xff0c; 看起来短的几条路对比下来是6~ #include <iostream> using namespace std; int main() {printf("6");return 0; }

AcWing 2060. 奶牛选美(每日一题)

目录 题目&#xff1a; 解题思路&#xff1a; 总结&#xff1a; 原题链接&#xff1a;2060. 奶牛选美 - AcWing题库 题目&#xff1a; 听说最近两斑点的奶牛最受欢迎&#xff0c;约翰立即购进了一批两斑点牛。 不幸的是&#xff0c;时尚潮流往往变化很快&#xff0c;当前…

[C语言]结构体、位段、枚举常量、联合体

目录 结构体 结构体的使用方法 结构体所占用的大小 位段 位段的使用方法 位段所占用的大小 枚举常量 枚举常量的使用方法 枚举常量的优势 联合体 联合体的使用方法 结构体 结构体的使用方法 结构体是一些值的集合&#xff0c;我们可以定义一个结构体&#xff0c;里…

实例:NX二次开发使用链表进行拉伸功能(链表相关功能练习)

一、概述 在进行批量操作时经常会利用链表进行存放相应特征的TAG值&#xff0c;以便后续操作&#xff0c;最常见的就是拉伸功能。这里我们以拉伸功能为例子进行说明。 二、常用链表相关函数 UF_MODL_create_list 创建一个链表&#xff0c;并返回链表的头指针。…

STM32---DHT11温湿度传感器与BH1750FVI光照传感器(HAL库、含源码)

写在前面&#xff1a;本节我们学习使用两个常见的传感器模块&#xff0c;分别为DHT11温湿度传感器以及BH1750FVI光照传感器,这两种传感器在对于环境监测中具有十分重要的作用&#xff0c;因为其使用简单方便&#xff0c;所以经常被用于STM32的项目之中。今天将使用分享给大家&a…

Digital WooCommerce Stores: 创建数字WordPress商店的详细教程- US Domain Center主机

第一步&#xff1a;了解数字 WooCommerce 商店 数字 WooCommerce 商店是一种电子商务模式&#xff0c;其中您可以销售虚拟产品&#xff0c;如在线课程、电子书、PDF、图像和视频。您可以使用 WooCommerce 插件在您的 WordPress 网站上设置数字产品&#xff0c;并通过在线交易提…

pandas的综合练习

事先说明&#xff1a; 由于每次都要导入库和处理中文乱码问题&#xff0c;我都是在最前面先写好&#xff0c;后面的代码就不在写了。要是copy到自己本地的话&#xff0c;就要把下面的代码也copy下。 # 准备工作import pandas as pd import numpy as np from matplotlib impor…

查立得php+mysql源码通用数据库配置教程

适用范围&#xff1a; 查分吧PHP多条件都输对版已有表万用查询系统 phpMySql已有数据表通用搜索可增删改查 查立得快搜系统(phpMysql) v20220208 查立得万能查&#xff08;phpmysql&#xff09; v20220512 及 各付费版 等几十款源码 数据库配置路径 数…