Ссылки на изображения во включенном статическом CSS-файле не подписываются при использовании S3Boto3Storage с Django-Storages

Я использую django-storages (S3Boto3Storage) для загрузки моих медиафайлов и библиотек в ведра S3.

На моей тестовой странице "delete_me.html" я включаю страницу CSS из библиотеки datatables, jquery.dataTables.min.css, которая включает ссылку на изображение.

Включение файла CSS в файл delete_me.html: <link rel="stylesheet" type="text/css" href="{% static "js/DataTables-1.11.5/css/jquery.dataTables.min.css" %}">

в jquery.dataTables.min.css: thead .sorting_asc{background-image:url("../images/sort_asc.png") !important}.

когда я смотрю на сетевую вкладку отладчика chrome, CSS загружается с помощью подписанного URL.

  • получить запрос со статусом 200 OK для: https://mybucketname.s3.amazonaws.com/js/DataTables-1.11.5/css/jquery.dataTables.min.css?X-Amz-Algorithm=ALG_REDACTED&X-Amz-Credential=CREDENTIAL_INFO_REDACTED%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20220804T011840Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=SIGNATURE_REDACTED как я должен.

  • Однако изображение sort_asc.png не загружается. Запрос идет к URL без знака: https://mybucketname.s3.amazonaws.com/js/DataTables-1.11.5/images/sort_both.png и возвращает 403.

Я не уверен, отвечает ли за это статическая библиотека Django или это проблема django-storages. Поскольку это сторонняя библиотека, в CSS файле нет {% load static %} (и я не уверен, что она будет запущена через систему шаблонов django).

Как мне заставить это изображение загружаться, не делая файл изображения общедоступным?

Вернуться на верх