Django cors middleware не работает при использовании GET для статических url изображений

Здравствуйте, я столкнулся с проблемой конфигурации Django CORS, я пробовал использовать django-cors-headers и правильно настроил его в моих настройках, он работает для выполнения GET/POST запросов к api из моего react frontend, но когда я пытаюсь загрузить изображение, используя image.src с "127.0.0.1:8000/path_to_my_image", изображение загружается правильно на вкладке сети, но сразу после этого выдает ошибку CORS same origin error для каждого изображения.

DJANGO_APPS = [
     ...,  
     'corsheaders', 
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.security.SecurityMiddleware',    
'config.settings.middleware.middleware.CorsFixMiddleware',   
...
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_ALL_ORIGINS = True
CORS_ALLOW_CREDENTIALS = True

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
)

CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)

Чтобы уточнить, загрузка изображения работает (изображение найдено, и я могу получить к нему доступ без проблем, если перейду по url изображения в браузере, единственное, что не удается, это загрузить изображение с ".src" из элемента из-за ошибки CORS.

Я попытался обойти конфигурацию, установив ответ в промежуточном ПО, промежуточное ПО корректно выполняется каждый раз, когда есть ответ, но он все еще не работает, и изображение не показывает никакого происхождения в заголовке ответа.

в моей промежуточной программе :

class CorsFixMiddleware:
def __init__(self, get_response):
    self.get_response = get_response
def __call__(self, request):
    response = self.get_response(request)
    response["Access-Control-Allow-Origin"] = "*"
    return response

Ответ на изображение :

HTTP/1.1 200 OK
Content-Type: image/svg+xml
Content-Length: 11654
Content-Disposition: inline; filename="company_name.svg"
Last-Modified: Mon, 04 Oct 2021 09:07:51 GMT
  

Все это происходит только в DEV, когда мой frontend работает на 3000 & мой backend на 8000.

Я не думаю, что это проблема конфигурации CORS, потому что я все равно обошел эту проблему с помощью своего промежуточного ПО

Спасибо за помощь

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