Odoo-Building a Website隨記

本文主要是學(xué)習(xí)Odoo官方文檔 Building a Website文檔中的一些個(gè)人理解以及一些問(wèn)題和解決辦法弧蝇。用來(lái)頑固下學(xué)習(xí)碳褒,部分理解可能因?yàn)樗骄壒蕰?huì)有點(diǎn)偏差折砸,如果有錯(cuò)誤,歡迎指出共同學(xué)習(xí)沙峻。

Creating a basic module

  • 任務(wù)通過(guò)建立模塊來(lái)執(zhí)行的
  • 通過(guò)新增或者修改現(xiàn)有的模塊可以定制odoo的特性睦授。
    $ ./odoo-bin scaffold Academy my-modules

這個(gè)命令自動(dòng)創(chuàng)建了一個(gè)my-modules的目錄(directory),里面包含著academy模塊(models)摔寨。

  • 目錄可以是已經(jīng)存在的去枷,但是模塊名必須唯一。

A demonstration module

通過(guò)以下命令啟動(dòng)odoo服務(wù)器
$ ./odoo-bin --addons-path addons,my-modules
這條命令會(huì)把 addons和my-modules加到path里面去是复。

To the browser

  • Controllers解析處理瀏覽器發(fā)來(lái)的請(qǐng)求(request),并返回響應(yīng)

Templates

  • Odoo允許使用任意python下的模板系統(tǒng),但是odoo自己附帶了一個(gè)模板系統(tǒng)QWeb.

  • 模板xml文件要在__manifest__.py文件里面注冊(cè).

當(dāng)模塊有更新時(shí),需要重啟Odoo, 然后在網(wǎng)頁(yè)中通過(guò)點(diǎn)擊settings,然后在列表里面去掉apps標(biāo)簽,再搜索academy,點(diǎn)擊upgrade按鈕(與官方文檔中描述不同.個(gè)人版本為10.0).
或者
通過(guò)運(yùn)行$ odoo-bin --addons-path addons,my-modules -d academy -u academy命令在重啟時(shí)候自動(dòng)更新.

Storing data in Odoo

  • Odoo 模型映射到數(shù)據(jù)庫(kù)的表.

  • 通過(guò)設(shè)置'security/ir.model.access.csv'來(lái)為模型增加訪問(wèn)權(quán)限控制

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0

在這段代碼中,第一行分別列出了模型的屬性,以及訪問(wèn)權(quán)限 讀/寫(xiě)/新建/刪除.
第二行中需要注意的是group_id:id留空了,這代表這個(gè)訪問(wèn)控制的對(duì)象是全部用戶.

-note : 數(shù)據(jù)文件(Data files, XML或者CSV格式的)需要添加到__manifest__里面. python文件(models和controllers)不需要添加到那個(gè)文件里面,但是需要被init.py文件引用.

-warning: 管理員用戶繞過(guò)訪問(wèn)控制删顶,即使未授予訪問(wèn)權(quán)限,他們也可以訪問(wèn)所有模型.

Demonstration data

  • 數(shù)據(jù)文件可用于演示和非演示數(shù)據(jù)淑廊。演示數(shù)據(jù)僅以“演示模式”加載逗余,可用于流測(cè)試和演示,非演示數(shù)據(jù)始終加載并用作初始系統(tǒng)設(shè)置.

  • 使用演示數(shù)據(jù)只是為了測(cè)試.

Accessing the data

-這里使用了一個(gè)ORM API里面的search()方法.

Website support

  • 添加website作為academy的依賴.
  • 在controller的route中增加website=true標(biāo)識(shí),這在請(qǐng)求對(duì)象中增加新標(biāo)識(shí),允許在模板中使用website布局.

URLs and routing

controller方法通過(guò)關(guān)鍵字 route()裝飾器與路由相關(guān)聯(lián)季惩,路由字符串和多個(gè)屬性來(lái)定制其行為或安全性猎荠。

  • Odoo提供了一個(gè)稱為模型的額外轉(zhuǎn)換器,當(dāng)給定它們的id時(shí)直接提供記錄

Field edition

  • 對(duì)于記錄字段蜀备,模板可以使用特殊的t-field指令,該指令允許從網(wǎng)站編輯字段內(nèi)容荒叶。

  • t-field可以選擇顯示格式.

Administration and ERP integration

  • 默認(rèn)情況下碾阁,Odoo模型基本上是用戶不可見(jiàn)的。要使其可見(jiàn)些楣,它必須通過(guò)一個(gè)操作脂凶,通常通過(guò)菜單來(lái)顯示。

  • 模型關(guān)系 多對(duì)一(many2one) 一對(duì)多(one2many).

Discussions and notifications

在這章中按照官方教程無(wú)法運(yùn)行.會(huì)報(bào)錯(cuò)
'''
TypeError: Model 'academy.courses' inherits from non-existing model 'mail.thread'.
'''
不知道個(gè)人問(wèn)題還是官方教程疏漏了. 根據(jù)報(bào)錯(cuò)原因個(gè)人認(rèn)為可能里面_inherit = 'mail.thread'需要mail模塊.但是直接在depends里面添加會(huì)提示找不到這個(gè)模塊.
后來(lái)在網(wǎng)頁(yè)apps里面添加之后再的depends添加就可以了.這是比較費(fèi)解的地方.

Selling courses

官網(wǎng)有些地方給的不是很詳細(xì),如果不明白哪里改動(dòng)了可以查看源碼目錄下doc里面的更改記錄.

但是跟著官方最后重啟Odoo時(shí)會(huì)報(bào)錯(cuò)

ParseError: "External ID not found in the system: website_sale.categ_others" while parsing /odoo/odoo-server/addons/academy/data.xml:4, near<record model="product.public.category" id="category_courses">```
最后參考這個(gè)解決了. [[Odoo 9.0 Website tutorial - Selling Courses](https://www.odoo.com/zh_CN/forum/help-1/question/odoo-9-0-website-tutorial-selling-courses-100267)](https://www.odoo.com/zh_CN/forum/help-1/question/odoo-9-0-website-tutorial-selling-courses-100267)

解決的辦法是

In data.xml file:

remove ref="website_sale.categ_others"


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末愁茁,一起剝皮案震驚了整個(gè)濱河市蚕钦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鹅很,老刑警劉巖嘶居,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異促煮,居然都是意外死亡邮屁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)菠齿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)佑吝,“玉大人,你說(shuō)我怎么就攤上這事绳匀∮蠓蓿” “怎么了炸客?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)戈钢。 經(jīng)常有香客問(wèn)我痹仙,道長(zhǎng),這世上最難降的妖魔是什么逆趣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任蝶溶,我火速辦了婚禮,結(jié)果婚禮上宣渗,老公的妹妹穿的比我還像新娘抖所。我一直安慰自己,他們只是感情好痕囱,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布田轧。 她就那樣靜靜地躺著,像睡著了一般鞍恢。 火紅的嫁衣襯著肌膚如雪傻粘。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天帮掉,我揣著相機(jī)與錄音弦悉,去河邊找鬼。 笑死蟆炊,一個(gè)胖子當(dāng)著我的面吹牛稽莉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涩搓,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼污秆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了昧甘?” 一聲冷哼從身側(cè)響起良拼,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎充边,沒(méi)想到半個(gè)月后庸推,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痛黎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年予弧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片湖饱。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掖蛤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出井厌,到底是詐尸還是另有隱情蚓庭,我是刑警寧澤致讥,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站器赞,受9級(jí)特大地震影響垢袱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜港柜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一请契、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧夏醉,春花似錦爽锥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至靶擦,卻和暖如春腮考,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背玄捕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工踩蔚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人枚粘。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓寂纪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親赌结。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容