使用 django-summernote 不显示 Summernote 图标

Summernote Icons not showing using django-summernote

(注意:问题已解决,请参阅下面的更新)

我正在使用 django-summernote,它的图标没有加载。我在其他堆栈帖子上遵循了多个建议(比如 ), and tried suggestions on github,包括到 summernote 的 CSS 的硬编码 CDN 链接,并且我尝试用 A 修改 @font-face css)本地字体文件的 URL,以及 B) 我的静态存储中字体的硬编码 URL,其中 none 有效。我还尝试将 CSS 文件(未缩小)直接拉到我的页面中的 <script> 标签中,同样没有成功。

我正在使用数字海洋空间来提供静态文件(遵循 AWS S3 api 标准,如果相关),我可以验证它们是否正在加载,如图所示。目录和每个资产指定为 public.

此外,font-awesome 已在我的应用程序(版本 6)中使用。我试过回滚到以前版本的 F-A,但也没有用。从其他帖子来看,summernote 似乎以某种方式获得了 F-A 图标,但我不确定如何。如果有人对这个问题有任何见解,我将不胜感激。这是它现在在 Chrome 和其他浏览器上的样子:

由于没有编写脚本来用有效的东西替换 summernote 的图标,我不确定接下来要尝试什么。

更新:

summernote 的字体似乎被 CORS 策略屏蔽了。解决方案是在 'Access-Control-Allow-Origin' 的 Digital Ocean 空间中添加 CORS 策略。我最初以为问题出在我的应用程序中。现在一切正常。

我按照后续步骤解决了这个错误:

1- 在 AWS 中转到 S3 存储桶

2- 按存储桶名称

3- 转到页面底部并编辑“Cross-origin 资源共享 (CORS)”

4- 添加以下代码并保存更改:

[
    {
        "AllowedHeaders": [
            "Authorization"
        ],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [],
        "MaxAgeSeconds": 3000
    },
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "HEAD",
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "ETag",
            "x-amz-meta-custom-header"
        ]
    }
]