開啟odoo16
在開始使用odoo16之前,我們必須先開啟Pycharm並設定虛擬環境
首先在點擊畫面右下角,選擇Interpreter Settings
點擊Add Interpreter 後選擇Add Local Interpreter
在欄位Location點擊資料夾,選擇想要窗見虛擬環境的路徑
點擊OK之後就可以看到這個畫面,再來點擊OK或是Apply虛擬環境就建設好了
再來我們透過腳本requirements.txt來進行python套件的安裝,並且在venv的環境中安裝,在安裝途中會有一些bug,你可以開啟requirements.txt先將該問題套件字段刪除,之後再進行手動安裝。
pip install -r requirements.txt
再來我們可以套過安裝PostgreSQL得到的工具[SQL Shell(psql)],來創建專用使用者一下為示範。
Server[localhost]: localhost
Database [postgres]: postgres
Port[5432]: 5432
Username [postgres]: postgres
Password for user postgres: --安裝當中所設定的密碼--
登入稱成功後,你會看到下面這段文字
psql(--你安裝PostgreSQL的版本--)
Type "help" for help.
postgres=#
再來我們來創建USER
postgres=# CREATE USER odoo16 WITH PASSWORD 'odoo16';
完成之後,我們就可以開啟我們的odoo16了。
python odoo-bin -r odoo16 -w odoo16
在執行這段指令的時候記得,一定要在git clone下來的odoo16資料夾下。
常用指令
一般我們使用odoo的時候會喜歡將依些指令檔設定在odoo16的文件中的config文件中,內容在下圖中可以看到。
位置: ~/odoo16/config/odoo.conf
python odoo-bin -c ~/odoo16/config/odoo.conf
[自訂config檔路徑]
這個就是使用該odoo.conf的指令。
python odoo-bin -c ~/odoo16/config/odoo.conf --dev=all
一般在開發中,我們再啟動odoo的指令中加上--dev=all之後,我們可以即時的在開發途中進行更新,不需要再重啟odoo。
當然我們也可以在Pycharm當中使用以下就是設定流程圖:
自動創建addons指令
python odoo-bin scaffold [addons名稱] [資料夾像要設定的路徑]
上面的指令會生成下面資料夾與檔案
addons名稱/
├── controllers
│ ├── controllers.py
│ └── __init__.py
├── demo
│ └── demo.xml
├── __init__.py
├── __manifest__.py
├── models
│ ├── __init__.py
│ └── models.py
├── security
│ └── ir.model.access.csv
└── views
├── templates.xml
└── views.xml
通常[資料夾像要設定的路徑]我們會設定在odoo16一樣的根目錄,以防更新的時候去影響。
manifest.py
在__manifest__.py檔案中,會長這個樣子
{
'name': "My library",
'summary': "輕鬆圖書館",
'description': """
Manage Library
==============
Description related to library.
""",
'author': "Dokuro",
'website': "https://https://eoffice.alltop.com.tw/eOffice2007/index.php",
'category': 'Uncategorized',
'version': '16.0.1',
'depends': ['base'],
'data': [
'security/groups.xml',
'security/ir.model.access.csv',
'views/library_book.xml'
],
'installable':True,
'auto_install':False,
],
}
name: 代表這個addons的名稱。
summary: 簡單的介紹模組。
description: 詳細的介紹模組。
author: 代表addons的作者。
website: 模組相關的網站。
category: 默認 'Uncategorized'。
depends: 跟繼承有關係後面會詳細說明。
data: 是用來我們想要呈現的view,通常建議從有權限的開始添加。
外部ID XML ID
在odoo中我們常常會使用到XML ID主要都在繼承上使用比如說:
我們想要繼承某個view的時候假設我們的資料夾在module/view/test.xml下我們想創建一個view時
<record id=testing model='ir.ui.view'>
在這當中我們不僅創建了test.testing的XML ID同時我們也呼叫了ir.ui.view 這段外部ID
簡單說XML ID就是DB給予record的別名,並且不可以重複。
再來我們就要開始進入odoo-MVC架構中的開發介紹
常用框架MVC在odoo中,M代表Model負責欄位邏輯,V代表view負責user_interface也就是UI的呈現,C代表Cotroller 負責路由,那我們就開始認識他們吧。