国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Odoo17入門教程第六章 UI

這篇具有很好參考價值的文章主要介紹了Odoo17入門教程第六章 UI。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

現(xiàn)在我們已經(jīng)創(chuàng)建了新模型及其 相應(yīng)的,是時候了 與用戶界面交互。

在本章結(jié)束時,我們將創(chuàng)建幾個菜單以訪問默認列表 和窗體視圖。

數(shù)據(jù)文件 (XML)

參考:與此主題相關(guān)的文檔可以在數(shù)據(jù)文件中找到。

在第五章:安全性-簡介中,我們通過 CSV 文件添加了數(shù)據(jù)。CSV 當要加載的數(shù)據(jù)具有簡單的格式時,format 很方便。當格式更復雜時 (例如,加載視圖或電子郵件模板的結(jié)構(gòu)),我們使用 XML 格式。例如 此幫助字段包含 HTML 標記。雖然可以通過 CSV 文件加載此類數(shù)據(jù),但它更多 方便使用XML文件。

XML文件必須添加到與CSV文件相同的文件夾中,并在__manifest .py中進行類似的定義。在安裝或更新模塊時,數(shù)據(jù)文件的內(nèi)容也會按順序加載,因此針對CSV文件的所有備注對XML文件都適用。當數(shù)據(jù)鏈接到視圖時,我們將它們添加到views文件夾中。

在本章中,我們將通過XML文件加載我們的第一個動作和菜單。操作和菜單是 數(shù)據(jù)庫中的標準記錄。

注意

當性能很重要時,CSV 格式優(yōu)先于 XML 格式。Odoo就是這種情況 其中加載 CSV 文件比加載 XML 文件快。

在Odoo中,用戶界面(操作,菜單和視圖)主要通過創(chuàng)建來定義 以及編寫 XML 文件中定義的記錄。常見的模式是“菜單”>“操作”>“視圖”。 要訪問記錄,用戶需要通過多個菜單級別導航;最深的層次是 觸發(fā)記錄列表打開的操作。

行動

參考:與此主題相關(guān)的文檔可在操作中找到。

注意

目標:在本節(jié)結(jié)束時,應(yīng)在系統(tǒng)中加載一個操作。我們不會看到 UI中的任何內(nèi)容,但文件應(yīng)加載到日志中:

INFO rd-demo odoo.modules.loading: loading estate/views/estate_property_views.xml

可以通過三種方式觸發(fā)操作:

  1. 通過單擊菜單項(鏈接到特定操作)

  2. 通過單擊視圖中的按鈕(如果這些按鈕連接到操作)

  3. 作為對對象的上下文操作

在本章中,我們將只介紹第一種情況。第二種情況將在后面的章節(jié)中介紹,而最后一種情況是 高級主題。在我們的房地產(chǎn)示例中,我們希望將菜單鏈接到模型,以便我們能夠創(chuàng)建新記錄。該操作可以被視為菜單之間的鏈接 和模型。estate.property

我們的基本行動是:test_model

<record id="test_model_action" model="ir.actions.act_window">
    <field name="name">Test action</field>
    <field name="res_model">test_model</field>
    <field name="view_mode">tree,form</field>
</record>
  • id是外部標識符。它可用于引用記錄 (不知道其數(shù)據(jù)庫內(nèi)標識符)。

  • model具有固定值 ir.actions.act_window(Window Actions (ir.actions.act_window))。

  • name是操作的名稱。

  • res_model是應(yīng)用該操作的模型。

  • view_mode是將可用的視圖;在本例中,它們是列表(樹)和表單視圖。 我們稍后會看到,可以有其他視圖模式。

在Odoo中隨處可見的例子,但這是簡單操作的一個很好的例子。請注意 XML 數(shù)據(jù)文件的結(jié)構(gòu),因為您將 在以下練習中需要它。

鍛煉

添加操作。

Create the?estate_property_views.xml?file in the appropriate folder and define it in the?__manifest__.py?file.

Create an action for the model?estate.property.

菜單

參考:可以在快捷方式中找到與此主題相關(guān)的文檔。

注意

目標:在本節(jié)結(jié)束時,應(yīng)創(chuàng)建三個菜單,默認視圖為 顯示:

odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

為了降低聲明菜單(ir.ui.menu)并將其連接到相應(yīng)操作的復雜性,我們可以使用<menuitem>快捷方式。

test_model_action的基本菜單是:

<menuitem id="test_model_menu_action" action="test_model_action"/>

菜單test_model_menu_action鏈接到動作test_model_action,而動作鏈接到模型test_model。如前所述,操作可以看作是菜單和模型之間的鏈接。

但是,菜單始終遵循體系結(jié)構(gòu),在實踐中有三個級別的菜單:

  1. 根菜單,顯示在應(yīng)用程序切換器中(Odoo社區(qū)應(yīng)用程序切換器是一個 下拉菜單)

  2. 第一級菜單,顯示在頂部欄中

  3. 操作菜單

    odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

    odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

定義結(jié)構(gòu)的最簡單方法是在XML文件中創(chuàng)建它。test_model_action的基本結(jié)構(gòu)是:

<menuitem id="test_menu_root" name="Test">
    <menuitem id="test_first_level_menu" name="First Level">
        <menuitem id="test_model_menu_action" action="test_model_action"/>
    </menuitem>
</menuitem>

第三個菜單的名稱取自 action。

鍛煉

添加菜單。

Create the?estate_menus.xml?file in the appropriate folder and define it in the?__manifest__.py?file. Remember the sequential loading of the data files ;-)

Create the three levels of menus for the?estate.property?action created in the previous exercise. Refer to the?Goal?of this section for the expected result.

重新啟動服務(wù)器并刷新瀏覽器1.您現(xiàn)在應(yīng)該看到菜單, 您甚至可以創(chuàng)建您的第一個房地產(chǎn)廣告!

字段、屬性和視圖

注意

目標:在本節(jié)末尾,銷售價格應(yīng)為只讀,數(shù)字 的臥室數(shù)和可用日期應(yīng)具有默認值。此外,售價 并且不會在重復記錄時復制可用日期值。

odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

保留字段active和state被添加到estate.property模型。

到目前為止,我們只在房地產(chǎn)廣告中使用了通用視圖,但是 在大多數(shù)情況下,我們希望對視圖進行微調(diào)。Odoo 中有許多微調(diào),但是 通常,第一步是確保:

  • 某些字段具有默認值

  • 某些字段是只讀的

  • 復制記錄時,某些字段不會復制

在我們的房地產(chǎn)商業(yè)案例中,我們希望以下幾點:

  • 售價應(yīng)為只讀(稍后會自動填寫)

  • 復制記錄時,不應(yīng)復制可用日期和銷售價格

  • 默認臥室數(shù)應(yīng)為 2

  • 默認可用日期應(yīng)為 3 個月后

一些新屬性

在進一步進行視圖設(shè)計之前,讓我們先回到模型定義。我們看到一些屬性,比如required=True,會影響數(shù)據(jù)庫中的表模式。其他屬性將影響視圖或提供默認值。

鍛煉

向字段添加新屬性。

找到適當?shù)膶傩愿臑椋?/span>

  • 將銷售價格設(shè)置為只讀

  • 防止復制可用日期和銷售價格值

重新啟動服務(wù)器并刷新瀏覽器。您不應(yīng)能夠設(shè)置任何銷售價格。什么時候 復制記錄時,可用日期應(yīng)為空。

默認值

任何字段都可以被賦予默認值。在字段定義中,添加default=X選項,其中X要么是Python文字值(boolean, integer, float, string),要么是接受模型并返回值的函數(shù):

name = fields.Char(default="Unknown")
last_seen = fields.Datetime("Last Seen", default=fields.Datetime.now)

name字段默認值為“Unknown”,而last_seen字段將被設(shè)置為當前時間。

鍛煉

設(shè)置默認值。

添加適當?shù)哪J屬性:

  • the default number of bedrooms is 2

  • the default availability date is in 3 months

檢查默認值是否按預期設(shè)置。

保留字段

參考:與本主題相關(guān)的文檔可在保留字段名稱中找到。

為預定義的行為保留了一些字段名稱。它們應(yīng)該在 在需要相關(guān)行為時進行建模。

鍛煉

Add active field.

Add the?active?field to the?estate.property?model.

重新啟動服務(wù)器,創(chuàng)建一個新屬性,然后返回到列表視圖…該屬性將不會被列出!active是具有特定行為的保留字段的一個示例:當一條記錄具有active=False時,它將自動從任何搜索中刪除。要顯示創(chuàng)建的屬性,您需要專門搜索非活動記錄。

odoo17 xml開發(fā)文檔,odoo官方文檔翻譯,學習,ui

鍛煉

為active字段設(shè)置默認值。

為活動字段設(shè)置適當?shù)哪J值,使其不再消失。

注意,默認的active=False值被分配給所有現(xiàn)有的記錄。

鍛煉

添加state?字段。

Add a?state?field to the?estate.property?model. Five values are possible: New, Offer Received, Offer Accepted, Sold and Canceled. It must be required, should not be copied and should have its default value set to ‘New’.

Make sure to use the correct type!

state稍后將用于多個 UI 增強功能。

現(xiàn)在,由于默認視圖,我們能夠與 UI 進行交互,下一步是 顯而易見:我們想要定義自己的觀點。

1

由于 Web 客戶端保留了各種菜單的緩存,因此需要刷新 和出于性能原因的視圖。文章來源地址http://www.zghlxwxcb.cn/news/detail-856042.html

到了這里,關(guān)于Odoo17入門教程第六章 UI的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Git 入門教程】第六節(jié)、Git高級操作

    Git是一種非常強大的分布式版本控制系統(tǒng),可以幫助開發(fā)者輕松地管理和協(xié)調(diào)代碼庫。在本文中,我們將介紹一些Git高級操作,包括如何管理Git倉庫、標簽、子模塊和忽略文件。 Git提供了許多命令來管理本地Git倉庫。以下是一些常用的管理命令: 初始化一個新的Git倉庫: 查

    2024年02月05日
    瀏覽(44)
  • Java XML教程_編程入門自學教程_菜鳥教程-免費教程分享

    Java XML教程 Java XML - 概述 Java XML - Parsers Java DOM Parser - 概述 Java DOM Parser - 解析XML文檔 Java DOM Parser - 查詢XML文檔 Java DOM Parser - 創(chuàng)建XML文檔 Java DOM Parser - 修改XML文檔 Java SAX Parser - 概述 Java SAX Parser - 解析XML文檔 Java SAX Parser - 查詢XML文檔 Java SAX Parser - 創(chuàng)建XML文檔 Java SAX Parser - 修改

    2024年02月08日
    瀏覽(25)
  • .NET Emit 入門教程:第六部分:IL 指令:6:詳解 ILGenerator 指令方法:方法調(diào)用指令

    .NET Emit 入門教程:第六部分:IL 指令:6:詳解 ILGenerator 指令方法:方法調(diào)用指令

    經(jīng)過前面幾篇的學習,我們了解到指令的大概分類,如: 參數(shù)加載指令,該加載指令以?Ld 開頭,將參數(shù)加載到棧中,以便于后續(xù)執(zhí)行操作命令。 參數(shù)存儲指令,其指令以 St 開頭,將棧中的數(shù)據(jù),存儲到指定的變量中,以方便后續(xù)使用。 創(chuàng)建實例指令,其指令以 New 開頭,

    2024年04月08日
    瀏覽(23)
  • .NET Emit 入門教程:第六部分:IL 指令:4:詳解 ILGenerator 指令方法:參數(shù)存儲指令

    .NET Emit 入門教程:第六部分:IL 指令:4:詳解 ILGenerator 指令方法:參數(shù)存儲指令

    上一篇介紹了?IL?指令的分類以及參數(shù)加載指令,該加載指令以ld開頭,將參數(shù)加載到棧中,以便于后續(xù)執(zhí)行操作命令。 本篇開始介紹參數(shù)存儲指令,其指令以st開頭,將棧中的數(shù)據(jù),存儲到指定的變量中,以方便后續(xù)使用。 在 IL 中,除了參數(shù)存儲指令 starg 和 stloc 之外,還

    2024年04月08日
    瀏覽(19)
  • .NET Emit 入門教程:第六部分:IL 指令:5:詳解 ILGenerator 指令方法:創(chuàng)建實例指令

    .NET Emit 入門教程:第六部分:IL 指令:5:詳解 ILGenerator 指令方法:創(chuàng)建實例指令

    上上篇介紹了?IL?指令的分類以及參數(shù)加載指令,該加載指令以?Ld 開頭,將參數(shù)加載到棧中,以便于后續(xù)執(zhí)行操作命令。 上一篇介紹參數(shù)存儲指令,其指令以 St 開頭,將棧中的數(shù)據(jù),存儲到指定的變量中,以方便后續(xù)使用。 本篇將介紹創(chuàng)建實例指令,其指令以 New 開頭,用

    2024年04月08日
    瀏覽(64)
  • .NET Emit 入門教程:第六部分:IL 指令:3:詳解 ILGenerator 指令方法:參數(shù)加載指令

    .NET Emit 入門教程:第六部分:IL 指令:3:詳解 ILGenerator 指令方法:參數(shù)加載指令

    在上一篇中,我們介紹了 ILGenerator 輔助方法。 本篇,將詳細介紹指令方法,并詳細介紹指令的相關(guān)用法。 在接下來的教程,關(guān)于IL指令部分,會將指令分為以下幾個分類進行講解: 下面開始介紹第一部分,參數(shù)加載指令: 參數(shù)加載指令用于在方法中加載參數(shù)到操作數(shù)棧中,

    2024年04月08日
    瀏覽(19)
  • .NET Emit 入門教程:第六部分:IL 指令:7:詳解 ILGenerator 指令方法:分支條件指令

    .NET Emit 入門教程:第六部分:IL 指令:7:詳解 ILGenerator 指令方法:分支條件指令

    經(jīng)過前面幾篇的學習,我們了解到指令的大概分類,如: 參數(shù)加載指令,該加載指令以?Ld 開頭,將參數(shù)加載到棧中,以便于后續(xù)執(zhí)行操作命令。 參數(shù)存儲指令,其指令以 St 開頭,將棧中的數(shù)據(jù),存儲到指定的變量中,以方便后續(xù)使用。 創(chuàng)建實例指令,其指令以 New 開頭,

    2024年04月12日
    瀏覽(18)
  • .NET Emit 入門教程:第六部分:IL 指令:9:詳解 ILGenerator 指令方法:運算操作指令(指令篇結(jié)束)

    .NET Emit 入門教程:第六部分:IL 指令:9:詳解 ILGenerator 指令方法:運算操作指令(指令篇結(jié)束)

    經(jīng)過前面幾篇的學習,我們了解到指令的大概分類,如: 參數(shù)加載指令,該加載指令以?Ld 開頭,將參數(shù)加載到棧中,以便于后續(xù)執(zhí)行操作命令。 參數(shù)存儲指令,其指令以 St 開頭,將棧中的數(shù)據(jù),存儲到指定的變量中,以方便后續(xù)使用。 創(chuàng)建實例指令,其指令以 New 開頭,

    2024年04月22日
    瀏覽(23)
  • 【Flink-1.17-教程】-【一】Flink概述、Flink快速入門

    【Flink-1.17-教程】-【一】Flink概述、Flink快速入門

    在準備好所有的開發(fā)環(huán)境之后,我們就可以開始開發(fā)自己的第一個 Flink 程序了。首先我們要做的,就是在 IDEA 中搭建一個 Flink 項目的骨架。我們會使用 Java 項目中常見的 Maven 來進行依賴管理。 1、創(chuàng)建工程 (1)打開 IntelliJ IDEA,創(chuàng)建一個 Maven 工程。 (2)將這個 Maven 工程命

    2024年01月16日
    瀏覽(53)
  • Spring Boot入門(10):Mybatis之XML映射文件>、<=等特殊符號使用 | 保姆級教程

    Spring Boot入門(10):Mybatis之XML映射文件>、<=等特殊符號使用 | 保姆級教程

    ? ? ? ? 在Mybatis的XML映射文件中,我們經(jīng)常需要使用一些特殊符號來完成SQL語句的拼接,比如小于號“”、小于等于號“=”等。然而,由于這些符號在XML中有特殊的含義,因此直接在映射文件中使用可能會導致編譯錯誤或者運行時異常。那么,如何才能正確地使用這些特殊

    2024年02月11日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包