【问题标题】:I have moved Odoo Server and Database to another machine. Why can't I load my CSS?我已将 Odoo 服务器和数据库移至另一台机器。为什么我不能加载我的 CSS?
【发布时间】:2018-02-24 07:36:31
【问题描述】:

我在本地 Ubuntu 服务器 16.04 LTS 上使用 nginx 反向代理部署了 odoo 10 CE。现在我在另一台服务器上安装了 Ubuntu 16.04、Odoo 10 CE 和 nginx 作为反向代理。我将数据库从旧服务器恢复到新服务器。

如果我像 http://x.x.x.x:8069 这样访问我的新服务器,它工作正常。

但是像 http://x.x.x.x 这样访问,登录页面显示没有 css 样式。登录后看不到任何菜单,只有公司logo。

如果我尝试使用Private browsing,它可以正常工作。

我该如何解决这个问题。

编辑

我以两种方式运行odoo服务器,第一种直接从终端运行:

` sudo su - odoo -s /bin/bash

/odoo/odoo-server/./odoo-bin`

然后我像<ip_address>:8069一样访问,它工作正常。

但是当我尝试以恶魔身份运行 (sudo /etc/init.d/odoo-server start) 时,我遇到了同样的问题。

我的系统用户是:odooadmin

odoo 用户是:odoo

如果我使用资产通过调试模式访问它就可以了。

 <ip_address>:8069/web?debug=assets

有什么办法吗?

【问题讨论】:

  • 隐私浏览是什么意思?
  • Incognito Window..
  • 你说如果使用隐私浏览,它可以工作,那么缓存有问题。当您清除浏览器缓存时,您还需要重新启动浏览器。除非你说隐私浏览也有问题,否则会有其他答案给你。

标签: python css ubuntu-16.04 odoo odoo-10


【解决方案1】:

有时您可以获得Internal Server Error 500。在其他情况下,你可以得到你所得到的。您可以尝试以下几种方法:

  1. 删除浏览器缓存。您可以按Shift + Ctrl + Supr。或者使用Ctrl + F5 重新加载而不使用缓存
  2. 删除 Cookies。如果您使用的是 chrome 或 chromium,您可以删除为您正在使用的域存储的 cookie,如图所示:

  1. web.base.url 参数。激活 deeloper 模式。进入设置>参数>系统参数并检查参数web.base.url是否设置正确。每次使用 Administrator 用户登录时都会更新此参数,将 url 栏的值分配给该参数。但如果你可以让它在私人模式下工作,我认为这是很好的分配。

【讨论】:

  • 嗨 ChesuCr,它尝试了你的解决方案,但对我不起作用。我更新了我的问题,你能看一下吗?
  • 您在服务中使用的是同一个用户吗?还要检查你是否有权限写入data_dir = /opt/odoo/.local/share/odoo,你应该在配置文件中有这个路径。所有这一切都与 NginX 运行有关吗?首先,尝试在没有 NginX 的情况下 Odoo 是否能正常工作。
【解决方案2】:

你的 CSS 编译了吗?

如果看起来很有趣你可能需要lessc CSS 编译(来自https://www.odoo.com/documentation/8.0/setup/install.html

我们符号链接节点,因为某些版本的 debian/ubuntu 不同意 bin 名称

安装节点

sudo apt install -y nodejs npm
sudo ln -s /usr/bin/nodejs /usr/bin/node

编译 CSS

如果你安装less,odoo会自动编译CSS

sudo npm install -g less less-plugin-clean-css

考虑清除文件缓存:

如果编译失败,有时你需要清除 postgres 缓存, (感谢sebalix 的提示):

您可以在 postgres 中运行此 SQL 查询,让 Odoo 重建其 CSS+JS 资产 + 通过 dbeaver 重新加载图标:

DELETE FROM ir_attachment WHERE datas_fname SIMILAR TO '%.(js|css)';
DELETE FROM ir_attachment WHERE name='web_icon_data';

然后重启服务器(假设是通过ansible安装的)

sudo service odoo restart

~/.local/share/Odoo/filestore 中还有一些文件您可能需要暂时移动/重命名

检查 postgres 版本

不支持某些版本的 postgres,请检查 psql --version 并且您可以下载数据库的备份

检查 odoo 版本

我见过odoo-bin --version 返回 10 但日志在每个日志行之前显示odoo11 的安装

【讨论】:

  • “你编译你的 CSS 了吗?” 你不必手动编译 LESS 文件。 Odoo 为我们做到了。
  • @VinhVO 我认为你是对的,但我有一次不小心删除了~/.local/share/Odoo/filestore 中的 CSS 文件...如何再次触发编译?
  • 我没有测试这个,但是每次我重启服务器(odoo服务)并重新加载页面,一切都应该没问题。我在 Odoo 11 上。
【解决方案3】:

我认为您的浏览器缓存中有一些文件。删除浏览器缓存文件后可以试试吗?

【讨论】:

    【解决方案4】:

    如果你移动到另一台机器上,加载一些缓存在 odoo 服务器级别的资产可能会出现问题,例如转译的 js 代码。

    为了解决这个问题,你应该(在恢复数据库之后)连接到你的数据库并运行以下命令:

    DELETE FROM ir_attachment WHERE url LIKE '/web/content/%';.

    更多信息在这里:https://github.com/odoo/odoo/issues/13808

    【讨论】:

      猜你喜欢
      • 2011-03-11
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      相关资源
      最近更新 更多