运行 collectstatic 并将所有内容放在 S3 上时,Wagtail 管理员图标消失

meh*_*meh 3 django amazon-s3 python-3.x wagtail

我一直在本地和我的服务器上工作,一切看起来都很好。然后我配置 django-storages 以在我的 S3 存储桶上存储静态文件和媒体。除了管理界面上的图标/字形外,一切正常。我看到的不是漂亮漂亮的图形图标,而是字母。

例如,一旦您登录,您就会在左侧看到搜索栏。通常,您会在搜索框中看到一个镜子。我丢了镜子,现在我只看到一个小写的 f。

我的问题是这个。我要搜索什么才能开始调试?什么 wagtail 文件collectstatic没有收集?

重现步骤

  1. 建立一个 wagtail 站点
  2. 在 s3 上设置存储桶
  3. 安装 django-storage
  4. 配置 django-storages 以使用您的存储桶
  5. ./manage.py collectstatic

技术细节

  • Python版本:3.5.2
  • Django 版本:1.11.5
  • 燕尾版本:1.12.2
  • 浏览器版本:firefox、chrome、chrome

选择_031

gas*_*man 5

发生这种情况是因为 Wagtail 使用图标字体,并且当前浏览器不允许从远程域加载字体,除非它们包含有效的 CORS HTTP 标头。您可以通过将以下几行添加到您的设置文件中来配置 django-storages S3 后端以添加适当的标头:

AWS_HEADERS = {
    'Access-Control-Allow-Origin': '*'
}
Run Code Online (Sandbox Code Playgroud)

并重新运行./manage.py collectstatic。有关一些附加说明,请参阅https://github.com/wagtail/wagtail/issues/633#issuecomment-55935529