odoo模組目錄結構說明
一、odoo模組的一般目錄結構
my_addons
├─ __init__.py
├─ __manifest__.py
├─ controllers
│ ├─ __init__.py
│ └─ controllers.py
├─ data
├─ demo
│ └─ demo.xml
├─ i18n
├─ models
│ ├─ __init__.py
│ └─ models.py
├─ security
│ └─ ir.model.access.csv
├─ static
└─ views
├─ templates.xml
└─ views.xml
二、各個資料夾使用講解
(1)、init.py:Python程式碼由 init.py載入,通過該檔案匯入.py檔案及程式碼子目錄。子目錄中包含的Python程式碼,再由其內部的__init__.py匯入。
(2)、manifest.py:模組宣告檔案,manifest.py檔案中對當前模組進行一些描述宣告。例如:data和demo鍵名所宣告的是供載入的資料檔案,通常是使用者介面、fixture資料和演示資料中會使用到的XML和CSV檔案。還可使用YAML檔案,可以包含一些模組載入時執行的過程指令,例如,通過程式生成或更新記錄而非在XML檔案中加入資料。
(3)、controllers:自定義的控制器實現,自定義一些網頁或功能可通過Controller實現,包含網站控制器的程式碼檔案,用於為模組提供各種功能。
(4)、data:初始化資料檔案目錄
(5)、demo:包含帶演示資料的資料檔案,對於測試、培訓或模組評測都非常有用。
(6)、i18n:國際化檔案目錄,針對不同語言有相應的翻譯檔案與其對應,使用者登入成功後在首選中修改語言後,系統會自動查詢相應的翻譯檔案
(7)、models:包含後端程式碼檔案,模組中使用到的所有物件模型,相應的業務邏輯程式碼都在次目錄下的檔案中,模型物件繼承自models.Model
(8)、security:許可權控制目錄,ir.model.access.csv檔案中儲存不同使用者分組對相應模型物件的增刪改查的許可權控制。
(9)、static:靜態資源目錄。description目錄是一個專案描述目錄,icon.png是模組的圖片,在應用看板中可以看到;此檔名稱都是固定的,圖片尺寸最好是100*100;也可在此目錄下使用一些html格式的檔案對模組做一個描述。src目錄是一些資源目錄如:js、css、images、xml
(10)、views:檢視檔案目錄。models目錄下的模型物件的檢視檔案,如表單檢視、列表檢視、搜尋檢視、看板檢視等等
其他檔案目錄:
(11)、wizard:嚮導目錄。嚮導模型在資料庫中也會建立相應的資料庫表,嚮導儲存的是一些臨時使用的資料,檢視上多以彈出框形式展示,嚮導產生資料為臨時資料不會長時間在資料庫中儲存,模型物件繼承自models.TransientModel
(12)、doc:模組說明文件目錄
(13)、report:模組中有關的報表模型或者相應報表檢視檔案
三、manifest.py:模組配置檔案詳解
name: 模組名稱
version: 模組版本
category: 模組分類
sequence:模組的序號
summary:模組概述
description: 模組功能描述
author:模組作者
website:模組主頁
depends: 模組依賴的模組集合
demo:演示資料檔案集合
data: 模組的所有檢視檔案集合
qweb:自定義的Odoo檢視檔案集合
installable: 模組是否可以安裝
application: 模組是否是應用
auto_install:模組是否會自動安裝