odoo17基础培训1-odoo开发基础知识准备以及odoo17开发环境安装

本文详细介绍了Odoo17的基础开发准备,包括Python、HTML/CSS/JS等前端知识,PostgreSQL数据库安装,使用Conda创建和管理开发环境,以及如何在VSCode中配置Odoo开发环境和解决常见问题。
摘要由CSDN通过智能技术生成

odoo17基础培训

一、odoo开发基础知识准备以及odoo17开发环境安装

1、odoo是什么?

当我介绍客户使用odoo系统作为业务管理平台时,有时会被问到Odoo是什么?

简单点,可以这么说: Odoo是一套完整的系统,是一个开源框架,针对 ERP 的需求发展而来,适合定制出符合客户各种需求的ERP系统、电子商务系统、CMS、或者是网站。

由于 Odoo 的底层结构很强大,所有模块都可以根据需要进行安装和御载,所以客户能够像搭积木一样建构自己期望的系统。即使完全不安装与ERP相关的模块,仅利用 Odoo 自身的底层框架,也能构建出适合各种用途的系统,纯 B/S 架构。而这一切都是免费的,并且不受限于源代码,也不受于用户数。

Odoo 是一系列开源商业应用程序套装,此套装可以满足公司的绝大部分应用需求,例如,基本的进销存管理、采购、销售、MRP生产制造、质量管理、HR、休假管理、用车管理、IM通讯、CRM客户关系管理、电子商务、网站,财务会计、资产管理、WMS仓库管理、POS连锁、项目管理、条码、PLM等等。

https://zhuanlan.zhihu.com/p/388748782

在这里插入图片描述

2、学习odoo需要的基础知识

2.1、后端:python

编程语言排行榜:https://hellogithub.com/report/tiobe/

python特点:

1、语法简单,容易上手

2、第三方库众多

人生苦短、我用python

官网: https://www.python.org/

学习资料:https://www.runoob.com/python/python-tutorial.html

2.2、前端:html、css、JavaScript

学习资料推荐: 菜鸟教程https://www.runoob.com/

B站视频:pink老师的视频 https://www.bilibili.com/video/BV14J4114768/?spm_id_from=333.337.search-card.all.click&vd_source=42b07826977d09765ec11b9fa06715e5

建议: 先掌握概念和框架,不要太过于重视细节,对编程而言,思路更重要。

切忌: 买大块头书,深入去研究。 等到用的时候,又忘了。

好读书,不求甚解,等到真正用的时候再去深入学习。

边学边做,边做边学,这是掌握一门技术最快的方法。

3、开发工具

下面这两款都是非常优秀的集成开发工具,选择任何一个都可以。

pycharm: 专业的python开发工具,社区版够用了。缺点是本身用java开发的,比较费资源。如果机器性能不好,可能运行比较慢。

vscode: 微软开发的轻量的集成开发工具,通过插件可以支持多钟语言开发,前端开发利器。 也有很多人用来做odoo开发。相对pycharm占用资源较少。

4、开发环境搭建

4.1 下载并安装postgres数据库

下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

一般下载次新版, 我们选择15.5的版本。

安装过程中需要设置postgres用户密码,这是pg的超级用户,跟sqlserver的sa类似。

odoo不允许用超级用户postgres连接数据库,所有我们需要创建一个新的数据库账户odoo。

打开pgadmin4, 新建用户,

在这里插入图片描述

输入用户名

在这里插入图片描述

输入密码

在这里插入图片描述

赋予权限,注意要给superuser权限,因为需要使用odoo这个账户创建数据库。

在这里插入图片描述

也可以通过命令行来创建

create user odoo with password 'odoo';
alter role  odoo with superuser;

4.2 下载odoo源码

odoo版本介绍:

社区版:

企业版:

二者使用的底层框架是一样的,区别在于支持的模块不同。

最新版是odoo17,odoo17相对odoo16做了很多优化,整体体验更加丝滑,运行更加流畅!

github源码地址:https://github.com/odoo/odoo (可能需要翻墙)

gitee镜像:https://gitee.com/mirrors/odoo?_from=gitee_search

从gitee下载比较快。

4.3 下载minconda

Conda是一个开源的包管理系统和环境管理系统,用于在不同的操作系统上安装、管理和协调软件包和其依赖关系。它是Anaconda发行版的一部分,Anaconda是一个用于科学计算和数据科学的Python发行版。

以下是一些Conda的主要特点和功能:

  1. 包管理系统:Conda可以帮助您安装、更新和删除软件包。它提供了一个广泛的软件包仓库,包括Python包和其他语言的包,可以满足各种需求。

  2. 环境管理系统:Conda允许您创建和管理多个独立的环境,每个环境都可以有不同的软件包和版本。这使得在不同项目之间轻松切换和管理依赖关系成为可能。

  3. 跨平台支持:Conda可以在多个操作系统上运行,包括Windows、macOS和Linux。这使得在不同的开发环境中保持一致性变得更加容易。

  4. 依赖关系解决:Conda可以自动解决软件包之间的依赖关系,确保安装的软件包与其他软件包兼容。这减少了手动解决依赖关系的工作量。

  5. 虚拟环境:Conda允许您创建虚拟环境,这是一个独立的Python环境,其中包含特定版本的Python和所需的软件包。这使得在不同项目之间隔离和管理依赖关系变得更加容易。

总而言之,Conda是一个功能强大的包管理和环境管理工具,可以帮助您轻松地安装、管理和协调软件包和其依赖关系。它在科学计算、数据科学和机器学习等领域非常受欢迎,并被广泛用于构建和管理复杂的软件环境。

修改windows脚本运行策略:

用管理员运行powershell:

PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
PS C:\WINDOWS\system32> conda init powershell

conda常用命令

(1)创建虚拟环境
    conda create -n env_name(环境名称) python=3.7(对应的python版本号)
(2)激活虚拟环境
    conda activate env_name(环境名称)
(3)退出虚拟环境
    deactivate env_name(环境名称)
(4)删除虚拟环境
    conda remove -n env_name(环境名称) --all
    
https://blog.csdn.net/ligous/article/details/124209700

如果不能识别conda命令,说明path环境变量有问题,设置一下环境变量即可 。

进入odoo17目录安装依赖

conda activate py11
pip install -r requirements.txt

这里有个坑 ,requirements.txt 中有一个库叫 libsass,安装它 需要C++的编译环境, 我们也不值得为了安装它去下载几个G的C++环境。这里可以下载编译好的版本。 先将requirements.txt文件中libsass那一行注释掉。然后到pypi网站https://pypi.org/project/libsass/#files下载对应平台的文件。

pip install ./libsass-0.23.0-cp38-abi3-win_amd64.whl
然后继续安装
pip install -r requirements.txt

4.4 下载并安装vscode

安装python插件

按ctrl+shift+p 输入Python 选择python解释器, 这里选择在conda中配置好的虚拟环境

添加odoo.conf, 注意这里的db_name是可以随意填的,odoo会自动检测数据库是否存在,如果不存在,odoo会自动创建并初始化它。

[options]
addons_path = addons,
db_host = 127.0.0.1
db_port = 5432
db_name = odoo17
db_user = odoo
db_password = odoo
load_language = zh_CN
log_level = info
admin_passwd =admin
http_port = 80

添加vscode启动脚本

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {"name":"Python: 当前文件","type":"python","request":"launch","program":"${file}","console":"integratedTerminal","justMyCode":true},

        {
            "name": "odoo17-run",
            "type": "python",
            "python": "${command:python.interpreterPath}",
            "request": "launch", // launch 启动程序  attach调试程序
            "program": "${workspaceFolder}/odoo-bin",
            "console": "integratedTerminal",
            "justMyCode": false,
            "args": ["-c","${workspaceFolder}/odoo.conf", "--dev=xml"]
            //,"-u","hx_hr,hx_gift,estate","--dev=xml"
        }
    ]
}

4.5 填坑

昨天讲课到最后,vscode无法识别py11的虚拟环境,解决方案如下:

1、修改path环境变量,如下图所示:

在这里插入图片描述

2、重启vscode

按ctrl+shift+p 选择python解释器,如果还没出现我们建的虚拟环境,那么点击第一项,手工输入解释器路径

在这里插入图片描述

然后点击find
在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在弹出的对话框中选择py11的路径, C:\ProgramData\miniconda3\envs\py11, 注意 C:\ProgramData 这是个隐藏目录。

在这里插入图片描述

选中python,然后点击Select Interpreter按钮就返回vscode了,然后用vscode成功运行odoo。

后续的培训视频我放在B站上,地址:
https://www.bilibili.com/video/BV1b5411i7fg/?vd_source=42b07826977d09765ec11b9fa06715e5

  • 29
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1 ERP 简介 1 1.1 Odoo 历史 1 1.2 ERPⅡ 或商业智能化 2 1.2.1 什么是商业智能 4 2 Odoo 框架简介 7 2.1 python 模块分析 8 2.2 python2 还是 python3 8 3 Odoo安装和配置 9 3.1 PostgreSQL 数据库 10 3.2 Ubuntu14.04 下可能缺失的软件包 11 3.3 网页显示 node.js 方面 11 3.4 其他问题 12 3.5 通过命令行运行时的配置 12 3.5.1 –xmlrpc-port=8888 12 3.5.2 –addons-path=addons 12 3.5.3 数据库的一些配置 13 3.5.4 –save 13 3.6 将安装环境封装起来 13 3.7 文档编译 14 4 初入 Odoo 17 4.1 管理数据库 17 4.2 登录界面 18 4.3 Administrator 首选项 19 4.4 导入一个翻译 20 4.5 新的 Demo 用户 20 4.6 模块管理 21 4.7 修改公司信息 21 4.8 打开技术特性支持之后 22 4.9 进销存和财务系统的抽象讨论 22 4.9.1 以采购部门为例 23 4.10 安装和配置模块 24 5 创建自己的模块 27 5.1 快速生成模块骨架 27 5.1.1 python 模块的 init 文件 28 5.1.2 作为 Odoo 模块的说明文件 29 5.2 安装自定义模块 32 5.2.1 模块文件夹管理 32 5.3 一个简单的演示模块 33 5.3.1 controllers 33 5.3.2 views 33 5.3.3 models 35 5.3.4 security 37 5.3.5 美化网页 38 5.4 加分项: 通过 pgadmin3 来查看数据库 39 5.4.1 安装 39 5.4.2 连接服务器 39 5.4.3 图形化查询 40 6 Odoo 开发基础: 请假模块第一谈 43 6.1 纯理论讨论 43 6.2 定义模型 45 6.3 加入菜单 46 6.3.1 act_window 的属性 48 6.3.2 menuitem 的属性 48 6.4 视图优化 48 6.4.1 修改 tree 视图 49 6.4.2 修改 form 视图 49 6.5 完整的 views.xml 51 6.6 给模块加个图标 53 7 Odoo 开发基础: 工作计划模块第一谈 55 7.1 数据访问权限管理 61 7.1.1 access rule 62 7.1.2 record rule 62 8 扩展现有模块-继承机制 65 8.1 给模块增加 field 65 8.2 修改已有的 field 66 8.3 重载原模型的方法 66 8.3.1 什么是 Recordset 67 8.3.2 Odoo 里面的 domain 语法 68 8.3.3 recordset 的 search 方法 69 8.4 视图 xml 文件的继承式修改 70 8.4.1 视图元素添加 71 8.4.2 原视图元素属性修改 71 8.5 多态继承 72 8.6 修改其他数据文件 73 8.6.1 删除记录 73 8.6.2 更新数据 73 8.7 委托继承 74 9 理解模型内的数据文件 75 9.1 理解外部 id 75 9.2 使用外部 id 77 9.3 导出或导入数据文件 77 9.4 快捷输入标签 78 9.5 用 field 标签设置值 78 9.5.1 eval 语法 78 9.5.2 ref 属性 79 9.5.3 One2many 和 Many2many 的 eval 赋值 79 10 Odoo 开发基础: 请假模块第二谈 81 10.1 本例涉及到的数据库表格简介 89 10.2 工作流概念入门 89 10.2.1 定义工作流对象 90 10.2.2 创建节点 91 10.2.3 创建连接 91 11 Odoo 模型层详解 93 11.1 _name 93 11.2 各个表头属性 93 11.3 name 字段 94 11.4 具体模型的数据 94 11.5 模型间的关系 95 11.6 工作流 95 12 Odoo 视图层详解 97 13 附录 99 13.1 Odoo 里老的 API 99 13.2 PostgreSQL 数据库命令行操作 99 13.2.1 命令行数据库备份 99 13.3 反向代理 (reverse proxy) 99 13.3.1 安装 ngnix 软件 100 13.3.2 强制 https 连接 102 13.3.3 nginx 优化 102 13.3.4 轮询机制 102 13.4 跟踪项目源码初始化进程 102 13.4.1 base 模块 104 13.4.2 web 模块 105 13.4.3 web_kanban 模块 105 13.5 配置会计科目 105 13.5.1 配置会计科目类型 105 13.5.2 配置会计科目 106 13.6 分录 106 13.7 新建业务伙伴 106 13.7.1 新建业务伙伴标签 106 13.7.2 新建客户 106 13.8 创建新的产品 107 13.9 设置会计年度 107 13.10向供应商下单 107 13.11会计学入门 107 13.11.1财务报表 108 13.11.2原始凭证 108 13.11.3账户 108 13.11.4分类帐 109 13.11.5会计科目表 109 13.11.6报告期间 110 13.12参考资料 110
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值