You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 13导入数据库转储后报'website'无get_active_website_setting属性错误

对应报错核心信息

AttributeError: 'website' object has no attribute 'get_active_website_setting'
odoo.addons.base.models.qweb.QWebException: Error to render compiling AST
Template: web.login
Path: /t/t/t
Node: <t t-set="signup_settings" t-value="website.get_active_website_setting()"/>
报错根因

出现该报错的核心是导入的数据库转储对应的运行环境,与当前本地部署的Odoo13环境模块配置不匹配:

  • get_active_website_setting不是Odoo13官方website模块自带的原生方法,从模板调用场景(获取注册页配置)判断,这个方法大概率是原数据库运行环境上,安装的网站注册审批、自定义注册流类第三方模块给website模型新增的扩展方法
  • 当前本地Odoo服务未加载、安装对应提供该方法的模块,QWeb引擎渲染登录页模板时,找不到绑定在website对象上的该方法,直接抛出属性不存在错误。
解决步骤

快速临时方案(适合急需进入后台的场景)

直接通过Odoo Shell绕开模板中的无效方法调用,无需调整源码:

  • 首先通过psql连接数据库,查询当前已安装的模块清单,方便后续对比缺失模块:
    SELECT name FROM ir_module_module WHERE state = 'installed';
    
  • 进入Odoo Shell连接导入的目标数据库,执行命令:
    odoo-shell -d 你的导入数据库名称 -c /opt/odoo13/odoo.conf
    
  • 在Shell交互界面执行以下代码,修复模板内容:
    # 获取web.login对应的视图记录
    login_view = env.ref('web.login')
    # 移除调用不存在方法的代码节点
    fixed_arch = login_view.arch.replace(
        '<t t-set="signup_settings" t-value="website.get_active_website_setting()"/>',
        ''
    )
    # 写入修改并提交数据库事务
    login_view.write({'arch': fixed_arch})
    env.cr.commit()
    
  • 退出Shell后重启Odoo服务,即可正常打开登录页。

长期适配方案(避免后续同类报错)

仅临时修模板可能导致其他页面同样出现缺方法的报错,需要从模块匹配层面彻底解决:

  • 对比原数据库导出的已安装模块列表,将提供get_active_website_setting方法的模块源码拷贝到当前Odoo服务的自定义模块加载路径下
  • 升级对应模块,让模型定义与数据库中存储的模板、业务逻辑完全匹配
  • 如果不需要原环境的网站注册、登录定制功能,可直接在模块列表中卸载对应定制模块,同时全局清理所有引用了该不存在方法的QWeb模板,消除所有同类渲染报错。

内容的提问来源于stack exchange,提问作者Deepak Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 14:15:03