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, потому что я все равно обошел эту проблему с помощью своего промежуточного ПО
Спасибо за помощь