Docker-Compose部署Odoo16集成Highchart时遇web.assets_backend未找到错误
解决Odoo 16中
web.assets_backend不存在的错误 1. 补充模块依赖
你的模块depends仅声明了base,但web.assets_backend是web模块提供的资源,必须将web添加到依赖列表:
修改manifest文件的depends字段:
'depends': ['base', 'web'],
2. 清理重复的资源配置
你同时在views.xml的模板继承和manifest的assets字段中声明了dashboard.js,会导致重复加载,建议二选一:
- 方案一:保留manifest的assets配置(符合Odoo 16最佳实践)
删除views.xml里的assets_account_dashboard模板,将所有资源移至manifest的assets中:'assets': { 'web.assets_backend': [ 'digital_twin/static/src/js/dashboard.js', 'digital_twin/static/lib/Highchart/code/highcharts.js', 'digital_twin/static/src/css/style.scss', ], 'web.assets_common': [ 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700', ], }, - 方案二:保留模板继承
删除manifest里的assets字段,同时修正views.xml中Highchart的路径(缺少开头的/):<template id="assets_account_dashboard" name="Account Dashboard" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet"/> <script type="text/javascript" src="/digital_twin/static/src/js/dashboard.js"/> <script type="text/javascript" src="/digital_twin/static/lib/Highchart/code/highcharts.js"/> <link rel="stylesheet" type="text/scss" href="/digital_twin/static/src/css/style.scss"/> </xpath> </template>
3. 验证静态文件路径
确认以下文件真实存在于模块对应目录:
digital_twin/static/src/js/dashboard.jsdigital_twin/static/lib/Highchart/code/highcharts.jsdigital_twin/static/src/css/style.scss
4. 重新升级模块
修改完成后,在Odoo中:
- 进入应用模块,找到
digital_twin模块 - 点击升级按钮,等待模块重新加载
注意事项
- 不要随意替换
inherit_id:website.assets_backend是网站前端资源,仅用于网站模块开发;后台模块需使用web.assets_backend - 确保开启开发者模式的含资源选项,以便调试资产加载问题
内容的提问来源于stack exchange,提问作者Jorge Tesch
相关产品推荐
相关产品推荐

