成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

「Odoo 基礎(chǔ)教程系列」第一篇——環(huán)境準(zhǔn)備

szysky / 3439人閱讀

摘要:安裝好后,在中執(zhí)行查看版本信息,應(yīng)該會(huì)看到輸出如下信息版本號(hào)可能會(huì)不同如果提示未找到,則需要手動(dòng)將用戶基礎(chǔ)目錄下的添加到中。相關(guān)文章基礎(chǔ)教程系列第篇開天坑啦

之前說好的 「Odoo 基礎(chǔ)教程系列」終于來了(撒花)~剛過完年重新投入到工作中,一下子事情有點(diǎn)多都要忙不過來了,只能在每天晚上下班回家之后慢慢填坑,各位小伙伴久等了!

在開始之前,這里要先跟大家知會(huì)一聲,在這篇教程以及后面的教程中,都將默認(rèn)開發(fā)環(huán)境是 macOSUbuntu,因?yàn)樵?Windows 中開發(fā)總是能遇到未知的坑,處理起來往往很是耗費(fèi)時(shí)間精力,這里不去爭(zhēng)論系統(tǒng)的優(yōu)劣,如果沒有 Windows 外的其他系統(tǒng)的小伙伴,但是又想學(xué)習(xí)本教程的內(nèi)容,推薦你們使用虛擬機(jī)安裝一個(gè) Ubuntu 作為開發(fā)環(huán)境 :)

OK,下面正式開始本系列教程的第一篇內(nèi)容。

基本準(zhǔn)備

在開始干活前,首先要把工具給準(zhǔn)備好,那我們進(jìn)行 Odoo 開發(fā),需要有哪些工具呢?下面就把最最基礎(chǔ)的羅列出來:

Python 3.5+

PostgreSQL

Node.js

LESS

Git

安裝 Python3

首先當(dāng)然少不了 Python 啦,在 Odoo 10.0 版本之前,使用的都是 Python 2,在 11.0 開始,官方就推薦使用 Python 3.5+,當(dāng)然使用 Python 3 也是大勢(shì)所趨,大膽地切換到 3 吧!

如果你當(dāng)前使用的系統(tǒng)沒有安裝 Python 3.5+,你可以按照下面的步驟輕松完成安裝:

# 如果你使用的是 Mac
brew install python3
# Ubuntu 用戶
sudo apt-get update
sudo apt-get install python3
安裝 PostgreSQL

然后是強(qiáng)大的數(shù)據(jù)庫(kù) PostgreSQL,這個(gè)數(shù)據(jù)庫(kù)是 Odoo 官方欽定使用的,不能像 Django 那樣可以根據(jù)喜好用各種庫(kù)。Mac 用戶可以選擇通過官網(wǎng)下載 APP 并跟隨步驟進(jìn)行安裝或者使用 Homebrew 進(jìn)行安裝并啟動(dòng):

brew install postgresql
brew services start postgresql

如果你是 Ubuntu 用戶,則可以通過以下命令進(jìn)行安裝:

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

然后執(zhí)行 psql -V 查看版本號(hào),如果沒有錯(cuò)誤并且輸出了版本號(hào),則說明已經(jīng)成功安裝并啟動(dòng),如果出現(xiàn)以下錯(cuò)誤信息:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

可以參考 stackoverflow 上的這個(gè)回答進(jìn)行除錯(cuò)。

安裝完畢之后,我們先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)的超級(jí)用戶,在之后運(yùn)行 Odoo 初始化數(shù)據(jù)庫(kù)的時(shí)候?qū)?huì)用上:

sudo createuser --superuser username
安裝 Node.js 和 LESS

Odoo 中有很多的樣式文件是使用 LESS 寫的,在運(yùn)行的時(shí)候 Odoo 會(huì)將這些樣式文件轉(zhuǎn)換成 CSS 文件,具體細(xì)節(jié)我們不必深究。我們需要先安裝好 Node.js 后才能安裝 LESS,繼續(xù)跟著步驟把它們安裝好。

Ubuntu 13.10 及之前的版本需要手動(dòng)安裝 Node.js:

wget -qO- https://deb.nodesource.com/setup | bash -
sudo apt-get install -y nodejs

Mac用戶直接使用 Homebrew 進(jìn)行安裝:

brew install node

安裝好 Node.js 之后接著安裝 LESS:

sudo npm install -g less

就是這么簡(jiǎn)單,我們已經(jīng)把 Node.js 和 LESS 都安裝好了,如果感興趣的話,可以去官網(wǎng)了解一下:

Node.js 官網(wǎng)

LESS 官網(wǎng)

安裝 Git

Git 是個(gè)非常好用的版本管理工具,日常工作已經(jīng)離不開它了 :) 在大部分系統(tǒng)中都已經(jīng)預(yù)裝好了,如果不知道當(dāng)前系統(tǒng)中有沒有預(yù)裝 git,不妨在終端里輸入 git --version 查看一下,如果提示未找到命令,則需要手動(dòng)安裝,過程同樣十分簡(jiǎn)單:

# Ubuntu
sudo apt-get update
sudo apt-get install git
# Mac
brew install git

完美!到這里我們已經(jīng)把目前所需要的工具都準(zhǔn)備好了,這才只是個(gè)開始,不過別擔(dān)心,接下來也不會(huì)很難。

依賴管理器

熟悉 Python 開發(fā)的小伙伴應(yīng)該都了解或者使用過各種虛擬環(huán)境,如 virtualenvvirtualenvwrapper 等,在這系列的教程中,我們將用 Pipenv 來創(chuàng)建和管理項(xiàng)目的虛擬環(huán)境和依賴包。

如果你還沒了解過 Pipenv,那下面就來簡(jiǎn)單了解一下。Pipenv 是 Python 項(xiàng)目的依賴管理器,類似于 Node.jsnpmyarn 等。它會(huì)自動(dòng)為項(xiàng)目創(chuàng)建和管理一個(gè)虛擬環(huán)境,當(dāng)你添加或刪除包時(shí),它也會(huì)自動(dòng)地在 Pipfile 中添加或刪除對(duì)應(yīng)的包信息。

在終端執(zhí)行以下命令進(jìn)行安裝:

pip install --user pipenv

選項(xiàng) --user 表示安裝在用戶目錄下,這樣做可以防止破壞任何系統(tǒng)范圍的包。安裝好后,在 Shell 中執(zhí)行 pipenv --version 查看版本信息,應(yīng)該會(huì)看到輸出如下信息(版本號(hào)可能會(huì)不同):

pipenv, version 10.0.0

如果提示未找到 pipenv,則需要手動(dòng)將用戶基礎(chǔ)目錄下的 /bin 添加到 PATH 中。使用 python -m site --user-base 找到用戶基礎(chǔ)目錄的路徑,然后執(zhí)行:

export PATH="/Users/name/Library/Python/3.6/bin:$PATH"

記得將 /bin:$PATH 前的路徑替換為你找到的路徑。

注:如果你使用的是 Zsh,編輯 ~/.zshrc 并將 export PATH=/Users/name/Library/Python/3.6/bin:$PATH 添加到文件底部,不要忘了替換路徑 :)

再次執(zhí)行 pipenv --version ,此時(shí)應(yīng)該可以成功查看到版本信息了。

獲取 Odoo 源碼

Odoo 有兩個(gè)版本,一個(gè)是社區(qū)版,一個(gè)是企業(yè)版,社區(qū)版是開源免費(fèi)的,企業(yè)版當(dāng)然是相應(yīng)需要收費(fèi)的,兩個(gè)版本會(huì)有一些差異,但是這些問題不大,我們拉取官方倉(cāng)庫(kù)的社區(qū)版源碼:

git clone [https://github.com/odoo/odoo.git](https://github.com/odoo/odoo.git) -b 11.0 --depth=1

因?yàn)楸娝苤木W(wǎng)絡(luò)問題可能速度會(huì)比較慢,耐心等待拉取完成后,進(jìn)入源碼目錄 cd odoo,可以看到第一層目錄結(jié)構(gòu)如下:

$ tree -L 1
.
├── CONTRIBUTING.md
├── COPYRIGHT
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.md
├── addons
├── debian
├── doc
├── odoo
├── odoo-bin
├── requirements.txt
├── setup
├── setup.cfg
└── setup.py

很好,已經(jīng)萬事俱備了,還差一點(diǎn)我們就可以成功運(yùn)行 Odoo 了,事不宜遲,繼續(xù)我們的教程。

安裝依賴

編輯文件 requirements.txt,刪除最后一行的 pypiwin32 ; sys_platform == "win32" 并保存(如果你的開發(fā)環(huán)境是 Windows,你應(yīng)該刪除的是帶有 sys_platform != "win32" 的行),然后創(chuàng)建虛擬環(huán)境(使用 Python 3)并安裝相關(guān)依賴:

pipenv install --three

選項(xiàng) --three 用于指定初始化環(huán)境所使用的 Python 的版本為 Python3,如果你在其他項(xiàng)目中需要使用 Python2 初始化環(huán)境,可以將該選項(xiàng)指定為 --two。

因?yàn)槟夸浵麓嬖谖募?requirements.txt,故 pipenv 會(huì)將其轉(zhuǎn)換成 Pipfile,并且會(huì)自動(dòng)安裝里面列出的所有依賴。在經(jīng)過可能有一點(diǎn)點(diǎn)漫長(zhǎng)的等待之后,終于安裝完畢啦!此時(shí)應(yīng)該會(huì)看到這樣的提示信息:

To activate this project"s virtualenv, run the following:
 $ pipenv shell

來試試看執(zhí)行 pipenv shell 激活虛擬環(huán)境,然后運(yùn)行 python,嘗試導(dǎo)入幾個(gè)包看看依賴包是否已經(jīng)成功安裝:

>>> import jinja2
>>> import lxml
>>> import qrcode

如果沒有報(bào)錯(cuò),就說明我們的環(huán)境已經(jīng)準(zhǔn)備好了,接下來我們要嘗試運(yùn)行 Odoo 的服務(wù)了,緊不緊張,刺不刺激,繼續(xù)下一步吧!

運(yùn)行 Odoo

先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),用于 Odoo 初始化數(shù)據(jù)使用:

createdb demo -U username

還記得前面我們創(chuàng)建了一個(gè)超級(jí)用戶嗎?請(qǐng)不要忘記把命令里的 username 替換成你創(chuàng)建的那個(gè)用戶名哦 XD

在 Odoo 根目錄下執(zhí)行以下命令運(yùn)行 Odoo 服務(wù):

./odoo-bin --addons-path=addons --db-filter=^demo$ -d demo

這里解釋一下上面這條命令里各個(gè)選項(xiàng)的意義:

--addons-path 指定要加載的模塊目錄

--db-filter 用于強(qiáng)制指定使用的數(shù)據(jù)庫(kù),支持正則表達(dá)式,這個(gè)選項(xiàng)的具體用途我們?cè)诤竺嫔婕暗降脑挄?huì)再次講解,現(xiàn)在不理解也沒關(guān)系

-d 用于指定使用的數(shù)據(jù)庫(kù)

命令里的 demo 就是我們前面創(chuàng)建的數(shù)據(jù)庫(kù)的名稱,如果你不是用的這個(gè)名稱,記得替換成你創(chuàng)建的數(shù)據(jù)庫(kù)名。

在一個(gè)新的數(shù)據(jù)庫(kù)中初次運(yùn)行 Odoo,它將會(huì)進(jìn)行初始化,這里需要稍微等待一小會(huì)兒,當(dāng)你看到以下字樣時(shí),就說明 Odoo 的服務(wù)已經(jīng)成功運(yùn)行并可以訪問了:

2018-02-28 12:34:51,398 1561 INFO demo odoo.modules.loading: Modules loaded.

現(xiàn)在可以打開瀏覽器,訪問 http://localhost:8069/ 這個(gè)地址,如果可以看到登錄界面,恭喜你,你已經(jīng)成功搭建好了運(yùn)行環(huán)境了!

輸入帳號(hào)和密碼(默認(rèn)是 admin)登錄,就會(huì)跳轉(zhuǎn)到后臺(tái)界面,現(xiàn)在暫時(shí)什么都沒有,默認(rèn)打開的是 Apps 應(yīng)用安裝模塊的頁(yè)面,就是文章開頭所展示的那張圖片里的那個(gè)界面,這里看到的這些都是 Odoo 自帶的一些基礎(chǔ)應(yīng)用,你可以隨便裝幾個(gè)應(yīng)用,如 BlogsLive Chat 等試試看 :)

瞎說幾句

這個(gè)系列第一篇正式的教程,就到這里了,如果遇到什么問題盡管在評(píng)論中提出來,我會(huì)盡量協(xié)助大家解決的。礙于 996 的上班時(shí)間,接下來的教程更新可能會(huì)有點(diǎn)慢,希望各位小伙伴可以耐心等待 :)

然后就是,開了個(gè)微信群,方便交流,雖然貌似好像并沒有什么人愿意加進(jìn)來?加好友時(shí)備注加群,接受后會(huì)拉進(jìn)群內(nèi)。

相關(guān)文章

「Odoo 基礎(chǔ)教程系列」第〇篇——開天坑啦

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44561.html

相關(guān)文章

  • Odoo 基礎(chǔ)教程系列」第〇篇——開天坑啦

    摘要:而模塊化則是區(qū)別于大多數(shù)傳統(tǒng)的最強(qiáng)特性,基于這一特性,開發(fā)人員可以輕松地繼承和擴(kuò)展任何現(xiàn)有的模塊,可以輕松地針對(duì)不同的需求進(jìn)行功能定制。相關(guān)文章基礎(chǔ)教程系列第一篇環(huán)境準(zhǔn)備 showImg(https://segmentfault.com/img/remote/1460000013290099?w=1280&h=856); 大家新年好!給大伙拜個(gè)早年,今天也是情人節(jié)呢,這么好的日子,卻一...

    X1nFLY 評(píng)論0 收藏0
  • Odoo 基礎(chǔ)教程系列」第二篇——從 Todo 應(yīng)用開始(1)

    摘要:雖然這是個(gè)很簡(jiǎn)單的應(yīng)用,但是希望大家可以動(dòng)手一起操作,從最簡(jiǎn)單的開始上手學(xué)習(xí)如何使用這個(gè)框架。則是在和之間,負(fù)責(zé)響應(yīng)用戶操作,從中獲取數(shù)據(jù)進(jìn)行處理并返回到中。 showImg(https://segmentfault.com/img/bV66tE?w=728&h=410); 在第一篇教程發(fā)布之后差不多一個(gè)月的今天,終于完成了第二篇內(nèi)容,這個(gè)發(fā)布周期拖得實(shí)在是有點(diǎn)太長(zhǎng)了,我都覺得不好意思...

    UCloud 評(píng)論0 收藏0
  • Odoo 基礎(chǔ)教程系列」第七篇——從 Todo 應(yīng)用開始(6)

    摘要:今天這個(gè)系列教程即將迎來它的最后一篇內(nèi)容了,我們將要來學(xué)習(xí)中權(quán)限相關(guān)的內(nèi)容。在的權(quán)限管理體系中,同樣也有用戶組這一概念的存在,和其他框架如可以說大同小異。通常和權(quán)限相關(guān)的內(nèi)容,我們都會(huì)在模塊的目錄下進(jìn)行定義,記錄集規(guī)則的定義自然也不例外。 在今年的情人節(jié)(2018.02.14)那天,我寫了一篇博客說即將要開一個(gè)坑,也就是大家在看的這個(gè)系列的教程。今天這個(gè)系列教程即將迎來它的最后一篇內(nèi)容...

    zeyu 評(píng)論0 收藏0
  • Odoo 基礎(chǔ)教程系列」第三篇——從 Todo 應(yīng)用開始(2)

    摘要:現(xiàn)在我們來給待辦事項(xiàng)增加一個(gè)緊急程度的字段,用來表示當(dāng)前任務(wù)的優(yōu)先級(jí)。此處我們還給這個(gè)字段添加了默認(rèn)值,表示當(dāng)一個(gè)待辦事項(xiàng)被創(chuàng)建后,如果沒有指定緊急程度,將默認(rèn)是待辦狀態(tài)。這篇教程中的代碼同樣會(huì)更新在我的倉(cāng)庫(kù)中。 showImg(https://segmentfault.com/img/bVbfv3E?w=1330&h=912); 在這篇教程里我們將會(huì)了解到 Odoo 模型里的一些其他...

    iflove 評(píng)論0 收藏0
  • Odoo 中添加自定義頁(yè)面

    摘要:一般情況下都是在中繼承后在其末尾添加相關(guān)資源路徑除了資源需要引入外,我們編寫的頁(yè)面模板也許要引入,打開并在底部添加我們的自定義頁(yè)面文件大功告成,一個(gè)最簡(jiǎn)單的自定義頁(yè)面已經(jīng)完成了,安裝模塊然后運(yùn)行看看效果吧。 前些天群里的小伙伴問了些關(guān)于在 Odoo 管理后臺(tái)自定義頁(yè)面和 Widget 的問題,那我就來寫一篇簡(jiǎn)短的內(nèi)容,教大家如何創(chuàng)建自定義頁(yè)面并引用第三方庫(kù)。如果大家有看我之前寫的基礎(chǔ)教...

    Jackwoo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<