一安装odoo13
1,官网下载安装包odoo13,直接安装就好。可能有一个错语,如下方法处理一下。
2,win7中文下安装不报错最最后服务不能启动。原因在于中文环境,让python报错了。
3,手工启动服务。进入安装目录
...\Odoo 13.0\server>后输入
..\python\python odoo-bin -c odoo.conf
python\python server\odoo-bin -c server\odoo.conf
4,手工启动时报错,这个就是语言的错语。
python\Lib\_strptime.py 中,
except ImportError:
from _dummy_thread import allocate_lock as _thread_allocate_lock
下,添加代码:
locale.setlocale(locale.LC_ALL, 'en')
二,示例模块openacademy.
1,创建一个模块模板。
python\python server\odoo-bin scaffold openacademy server\odoo\addons
2,这里是官网上的示例说明,https://www.odoo.com/documentation/13.0/howtos/backend.html
有一些人把它译成中文了,对比英文的看看。
3, 改一些文件先让示例动起来
4,开如应用自定义应用
a,在win7服务管理中重启odoo服务。
b,在odoo的设置-》常规设置中,打开开发者模式。
c,在odoo的应用中,“更新”,还有“刷新本地模块列表”。
d,看到自定义的应用openacademy,安装它。
e,如果一切正常,在应用菜单中就可以看到 Open Academy的菜单。进入可看到一些数据。
f,到这里一个简单的示例框架就有了。官网说明中,在这个示例基础上有许我操作,可以做一下,加深理解。
g,我遇到的错误就是Open Academy菜单不显示,搞的时间比较多。不显示一是代码错,二是没设权限。也就应用security/ir.model.access.csv',并改好其中模块的权限。
五个主要文件如下:
文件__manifest__.py
# -*- coding: utf-8 -*-
{
'name': "openacademy",
'summary': """
Short (1 phrase/line) summary of the module's purpose, used as
subtitle on modules listing or apps.openerp.com""",
'description': """
Long description of module's purpose
""",
'author': "My Company",
'website': "http://www.yourcompany.com",
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/13.0/odoo/addons/base/data/ir_module_category_data.xml
# for the full list
'category': 'Uncategorized',
'version': '0.1',
# any module necessary for this one to work correctly
'depends': ['base'],
# always loaded
'data': [
'security/ir.model.access.csv',
'views/openacademy.xml',
#'views/views.xml',
#'views/templates.xml',
#'demo/demo.xml',
],
# only loaded in demonstration mode
'demo': [
#'demo/demo.xml',
],
'application': True,
'installable': True,
}
文件demo.xml
文件models.py
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class Course(models.Model):
_name = 'openacademy.course'
_description = "OpenAcademy Courses"
name = fields.Char(string="Title", required=True)
description = fields.Text()
文件openacademy.xml
Create the first course
最关键的文件ir.model.access.csv
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_openacademy_openacademy,openacademy.openacademy,model_openacademy_course,,1,1,1,0