Odoo 18 的目录结构说明(适用于源码安装方式,社区版/企业版通用),帮助开发者和管理员理解核心文件和目录的作用:
1. 根目录结构
odoo-18.0/ ├── addons/ # 官方核心模块(如销售、采购、库存等) ├── odoo/ # Odoo 框架核心代码(Python 源码) ├── enterprise/ # (仅企业版)官方企业版私有模块 ├── custom_addons/ # (建议)存放自定义模块的目录(需手动创建) ├── filestore/ # 文件存储(附件、图片等,自动生成) ├── logs/ # 日志文件(需配置) ├── data/ # 数据库备份、数据文件等 ├── setup.py # Odoo 的 Python 安装脚本 ├── requirements.txt # Python 依赖库列表 └── odoo-bin # Odoo 启动脚本(命令行入口)
2. 核心目录详解
(1) addons/
(官方标准模块)
包含 Odoo 官方的所有基础模块,例如:
account
(会计)sale
(销售)purchase
(采购)stock
(库存)website
(网站构建)
(2) odoo/
(框架核心代码)
Odoo 的核心 Python 库,关键子目录:
api/
- ORM 接口定义models/
- 核心模型(如ir.model
、res.partner
)http/
- Web 请求处理tools/
- 实用工具(如邮件、缓存)cli/
- 命令行工具(用于模块管理、数据库备份等)
(3) enterprise/
(企业版专属模块)
仅在企业版中有效,包含高级功能:
account_accountant
(高级会计)web_studio
(可视化开发)social
(社交媒体集成)
(4) custom_addons/
(自定义模块目录)
建议将自定义模块放在此目录(需在配置文件中指定路径),例如:
custom_addons/ ├── my_module/ # 自定义模块 │ ├── __manifest__.py # 模块元数据 │ ├── models/ # 数据模型 │ ├── views/ # 界面视图 │ └── controllers/ # Web 控制器 └── ...
3. 配置文件与关键文件
(1) odoo.conf
(配置文件示例)
Odoo 启动时加载的配置,通常位于 /etc/odoo.conf
或项目根目录:
ini
[options] addons_path = /path/to/odoo-18.0/addons,/path/to/custom_addons data_dir = /var/lib/odoo logfile = /var/log/odoo/odoo.log admin_passwd = admin # 主密码(谨慎设置) db_host = localhost db_port = 5432 db_user = odoo db_password = odoo
(2) __manifest__.py
(模块声明文件)
每个模块必须包含此文件,定义模块元数据:
python
{ 'name': 'My Custom Module', 'version': '1.0', 'depends': ['base', 'sale'], # 依赖的模块 'data': [ 'views/sale_order_views.xml', ], }
4. 重要命令行操作
(1) 启动 Odoo
./odoo-bin -c /path/to/odoo.conf
(2) 安装自定义模块
./odoo-bin -i my_module -d my_database
(3) 查看可用模块列表
./odoo-bin --addons-path=addons,custom_addons --list
5. 企业版 vs 社区版目录差异
目录/文件 | 社区版 | 企业版 |
---|---|---|
enterprise/ |
❌ 无 | ✅ 有 |
web_enterprise/ |
❌ 无 | ✅ 有 |
studio/ 模块 |
❌ 无 | ✅ 有 |
6. 开发建议
自定义模块:始终放在
custom_addons/
,避免修改addons/
官方模块。版本控制:忽略
filestore/
和logs/
(在.gitignore
中添加)。多环境管理:使用
odoo-bin --save
保存配置,方便切换环境。