Django Rest Framework статический файл блокируется CORS

Может ли кто-нибудь помочь мне, потому что я не могу ничего сделать с CORS.

У меня есть DRF сервер с установленным corsheaders. Настройки следующие

INSTALLED_APPS = [
    ...
    'corsheaders',
    'django.contrib.staticfiles',
    ...
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    ...
]

CORS_ORIGIN_ALLOW_ALL = True

CORS_ALLOW_HEADERS = ('Access-Control-Allow-Origin', 'Access-Control-Allow-Credentials', 'Authorization', 'Content-Type', 'Cache-Control', 'X-Requested-With', 'x-csrftoken')

STATIC_URL = 'static/'

Что я пытаюсь сделать - получить изображение с сервера, чтобы обрезать его в React. Я получаю имя изображения в ответе сервера, показываю его на странице без проблем, но когда я пытаюсь получить его следующим образом:

let img = new Image();
img.crossOrigin = 'Anonymous';
img.src = "http://127.0.0.1:8000/static/images/" + props.image.picname;
setImage(img);

Я получаю ошибку, что доступ к изображению заблокирован. Я пытался запустить сервер как python manage.py runserver --nostatic и модифицировать urls.py такими строками:

if settings.DEBUG:
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    urlpatterns += staticfiles_urlpatterns()

Но это не помогло. Как мне с этим справиться, ведь у меня нет запроса к изображению, я просто открываю его. Почему показ изображения на странице - это нормально для CORS, а попытка получить его с помощью JS с той же страницы - это такая большая проблема?

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