Иконки Summernote не отображаются при использовании django-summernote

Я использую django-summernote, и его иконки не загружаются. Я следовал многочисленным рекомендациям в других постах (например, в этом ), пробовал предложения на github, включая жесткое кодирование CDN ссылок на CSS summernote, и я пробовал модифицировать @font-face css с A) ссылками на локальные файлы шрифтов и B) жестко закодированными ссылками на шрифты в моем статическом хранилище, ничего из этого не сработало. Я также пробовал вытаскивать файлы CSS (без изменений) прямо на страницу в тегах <script>, также безрезультатно.

Я использую digital ocean spaces для обслуживания статических файлов (что соответствует стандартам AWS S3 api, если это уместно), и я могу проверить, что они загружаются, как показано на изображении. Каталог и каждый актив обозначены как public.

enter image description here

Более того, font-awesome уже используется во всем моем приложении (версия 6). Я пробовал откатиться к предыдущим версиям F-A, что также не помогло. Из других сообщений следует, что summernote каким-то образом получает иконки F-A, но я не уверен как. Если у кого-нибудь есть какие-либо соображения по этому вопросу, буду признателен. Вот как это выглядит сейчас, в Chrome и других браузерах:

enter image description here

Если не написать скрипт для замены иконок Summernote на что-то работающее, я не уверен, что делать дальше.

ОБНОВЛЕНИЕ:

Похоже, что шрифты и скрипты блокируются политикой CORS. Надо было больше следить за консолью... Я не беспокоился об этом, потому что у меня установлены django-cors-headers, разрешающие все источники, но в заголовках нет 'Access-Control-Allow-Origin'. Так что сейчас я отлаживаю это.

Я решил эту ошибку, выполнив следующие шаги :

1- В AWS перейдите к ведрам S3

2- нажмите на название ведра

3- перейдите в нижнюю часть страницы и отредактируйте "Cross-origin resource sharing (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"
        ]
    }
]
Вернуться на верх