odoo 9.0创建自定义模块

来源:互联网 发布:时来天地皆同力 知乎 编辑:程序博客网 时间:2024/05/20 18:48

创建简单自定义模块

参考: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 httpclass 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')

简单整体演示模块

controllers

views

models

data

__openerp__.py


0 0
原创粉丝点击