iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Odoo

Odoo16 入門介紹系列 第 2

Day2_odoo_環境建設(2)

  • 分享至 

  • xImage
  •  

開啟odoo16

在開始使用odoo16之前,我們必須先開啟Pycharm並設定虛擬環境
https://ithelp.ithome.com.tw/upload/images/20230915/20163098BAOshgz8Cx.png
首先在點擊畫面右下角,選擇Interpreter Settings
https://ithelp.ithome.com.tw/upload/images/20230915/20163098FkJUoUqU3e.png
點擊Add Interpreter 後選擇Add Local Interpreter
https://ithelp.ithome.com.tw/upload/images/20230915/20163098F6yiQlZh1t.png
在欄位Location點擊資料夾,選擇想要窗見虛擬環境的路徑
https://ithelp.ithome.com.tw/upload/images/20230915/20163098SlIuUUYg9c.png
點擊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文件中,內容在下圖中可以看到。
https://ithelp.ithome.com.tw/upload/images/20230915/20163098Bj9gWotGyP.png
位置: ~/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當中使用以下就是設定流程圖:
https://ithelp.ithome.com.tw/upload/images/20230915/20163098B53UxZDwbE.png
https://ithelp.ithome.com.tw/upload/images/20230915/20163098Efsw8zjHHL.png
https://ithelp.ithome.com.tw/upload/images/20230915/20163098IRcOjMJ5CI.png
https://ithelp.ithome.com.tw/upload/images/20230915/20163098vXo0ImbnfD.png

自動創建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 負責路由,那我們就開始認識他們吧。


上一篇
Day1_odoo_開發前言-環境建設
下一篇
Day3_odoo_Model介紹
系列文
Odoo16 入門介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
julian
iT邦新手 2 級 ‧ 2023-11-22 11:34:47

請問requirements.txt這個在哪邊開啟呢?

Tokuro iT邦新手 5 級 ‧ 2023-12-22 10:28:41 檢舉

他在你git下來的odoo16資料夾當中

我要留言

立即登入留言