Docker部署Odoo17自定义extra-addons应用未显示求助
问题排查与解决方案
核心错误点(导致模块无法被识别)
以下是操作中存在的文件名/路径错误,直接导致Odoo无法识别自定义模块:
- 清单文件命名错误:将模块识别必需的
__manifest__.py误写为__manifest__py,缺少文件名中的.,Odoo无法读取模块清单。 - Models初始化文件命名错误:models目录下的
__init.py__应为__init__.py,Python包的初始化文件必须严格遵循__init__.py命名规范,否则无法加载该目录下的模块。 - 视图文件路径不匹配:清单文件中配置的视图路径是
views/sale_order_views.xml,但实际文件名为sale_order_view.xml(少了末尾的s),即使模块被识别,后续加载也会报错。
修复步骤
- 修正文件名:
- 重命名清单文件:
mv /opt/odoo17/custom-addons/[你的模块名]/__manifest__py /opt/odoo17/custom-addons/[你的模块名]/__manifest__.py - 重命名models目录下的初始化文件:
mv /opt/odoo17/custom-addons/[你的模块名]/models/__init.py__ /opt/odoo17/custom-addons/[你的模块名]/models/__init__.py - 修正视图文件名或清单中的路径:要么将视图文件重命名为
sale_order_views.xml,要么修改__manifest__.py中的data字段为'views/sale_order_view.xml'。
- 重命名清单文件:
- 重启Odoo容器:
docker-compose restart web - 验证模块识别:
- 进入容器检查文件状态,确认文件名和权限正确:
docker-compose exec web ls -l /usr/lib/python3/dist-packages/odoo/extra-addons/[你的模块名]/ docker-compose exec web ls -l /usr/lib/python3/dist-packages/odoo/extra-addons/[你的模块名]/models/ - 登录Odoo后台,开启开发者模式,点击「更新应用列表」,然后在应用搜索框中查找「Custom Sales」。
- 进入容器检查文件状态,确认文件名和权限正确:
额外排查建议
如果仍无法识别,查看Odoo日志定位问题:
docker-compose logs web
日志中会明确提示无法识别模块的原因(如文件缺失、语法错误、权限问题等)。
内容的提问来源于stack exchange,提问作者Supphasek Nateprapai
相关产品推荐
相关产品推荐

