在使用客户发来的数据库进行本地开发环境搭建的时候碰到登录时加载CSS问题失败的问题:
1 | Could not get content for /website/static/src/scss/options/user_values.custom.web.assets_common.scss defined in bundle 'web.assets_common'. |
从报错提示上看是缺少scss文件而导致的, 但是从数据库附件目录中却可以找到这个文件,而且可以正常下载,虽然内容是空的。但这说明问题的根源并非找不到文件。
然后我们打开浏览带的console界面,发现提示website模块并没有正常加载。
然后我们使用-u命令试图升级website模块, 但是在后台发现了如下错误:
1 | During handling of the above exception, another exception occurred: |
很奇怪,提示我们web.login_layout这个qweb视图有问题,于是我们便到数据库后台去看这个视图的问题:
我们发现web.login_layout有两个继承的视图,由于boa_theme_default这个模块的优先级高于原生website,因此,我们推断正是因为boa这个模块的级别升高导致website模块的内容不能背正常的加载。
至于这两个视图为什么会冲突,经过分析,是因为两个视图都继承了基础视图login_view, 都使用了replace将元素替换掉,因此不论如何调整这两个视图的顺序,均不能解决冲突。
因此,解决方案就只能根据视图内容的结构来进行调整,本例当中,是直接将boa的视图禁用掉了。