Много раз при создании веб-приложения с использованием Django и React мы сталкивались с распространенной ошибкой, известной как Ошибка политики CORS. Просматривая этот блог, вы получите правильное решение для устранения этой ошибки.

Давайте разберемся, в чем именно заключается ошибка происхождения CORS.

Итак, когда мы генерируем запрос из внешнего интерфейса (React), запрос отправляется на сервер (бэкэнд). В браузере и на сервере существуют определенные правила, которые могут ограничить запрос из незарегистрированного источника. Это делается, чтобы избежать неавторизованных пользователей или трафика для получения данных с сервера. Даже если мы разрабатываем приложение, нам нужно сообщить Django, чтобы он разрешал запросы из указанного источника.

Чтобы решить эту проблему, мы должны зарегистрировать источник в Django, чтобы сообщить Django, что он может отправлять и получать данные из указанного источника.

Для регистрации источника мы должны выполнить следующие шаги.

  1. Установка заголовков Django-CORS через PIP

pip install django-cors-headers

2. Измените разрешенный хост на все ресурсы

ALLOWED_HOSTS = ['*']

3. Вы также можете указать конкретный ресурс, который вы хотите разрешить

ALLOWED_HOSTS = ['127.0.0.1','localhost']

4. Убедитесь, что вы также добавили заголовки cors в промежуточное программное обеспечение.

MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

Выполнив описанные выше шаги, ошибка политики CORS будет устранена :). Перед развертыванием приложения в производственной среде обязательно проверьте разрешенный узел.