odoo 9.0建立自定義模組
阿新 • • 發佈:2019-02-08
建立簡單自定義模組
參考:http://blog.sunansheng.com/python/odoo/odoo.html#sec-5-3-3
odoo有很多現有的模組(應用),也能夠新增自定義模組.
基本結構
使用命令快速生成一個模組的基本
./odoo.py scaffold firstmodule myaddons
其中myaddons為放置模組的資料夾,firstmodule為你所建立的自定義模組.myaddons與oddo配置檔案中的
--addons-path所
對應,所沒有則需要新增,或啟動時
./odoo.py --addons-path=addons,myaddons
通過之前的命令會生成一系列的檔案,結構如下:
myaddons/firstmodule/ #myaddons和firstmodule都與之前所輸入的命令對應 |-- __init__.py |-- __openerp__.py #odoo模組必要檔案 |-- controllers/ #http路徑控制 | |-- __init__.py | `-- controllers.py |-- data/ #資料檔案 | |-- <main_model>_data.xml | `-- <inherited_main_model>_demo.xml |-- models/ #model定義 | |-- __init__.py | |-- <main_model>.py | `-- <inherited_main_model>.py |-- security/ | |-- ir.model.access.csv | `-- <main_model>_security.xml |-- static/ | |-- img/ | |-- lib/ | `-- src/ | |-- js/ | |-- css/ | |-- less/ | `-- xml/ `-- views/ #檢視和模板 |-- <main_model>_templates.xml |-- <main_model>_views.xml
hello world
controllers資料夾新建一個__init__.py和controllers.py,在controllers.py中新增以下內容:
# -*- coding: utf-8 -*-
from openerp import http
class Firstmodule(http.Controller):
@http.route('/firstmodule/firstmodule/', auth='public')
def index(self, **kw):
return 'hello world'
並在__init__.py中新增:
# -*- coding: utf-8 -*- from . import controllers
安裝並更新自定義模組
自定義模組新增完成後,啟動odoo,載入新建的myoaddons:
./odoo.py --addons-path=addons,myaddons
進入odoo,並激活開發者模式,右上角帳號,點選"關於"
進入"應用"介面,更新應用列表,並搜尋你所建立的自定義模組,當前是firstmodule,進行安裝:
安裝完成後,瀏覽器中輸入http://127.0.0.1:8069/firstmodule/firstmodule/,即可看到返回的hello world,該地址對應controller中的
@http.route('/firstmodule/firstmodule/', auth='public')