Много раз при создании веб-приложения с использованием Django и React мы сталкивались с распространенной ошибкой, известной как Ошибка политики CORS. Просматривая этот блог, вы получите правильное решение для устранения этой ошибки.
Давайте разберемся, в чем именно заключается ошибка происхождения CORS.
Итак, когда мы генерируем запрос из внешнего интерфейса (React), запрос отправляется на сервер (бэкэнд). В браузере и на сервере существуют определенные правила, которые могут ограничить запрос из незарегистрированного источника. Это делается, чтобы избежать неавторизованных пользователей или трафика для получения данных с сервера. Даже если мы разрабатываем приложение, нам нужно сообщить Django, чтобы он разрешал запросы из указанного источника.
Чтобы решить эту проблему, мы должны зарегистрировать источник в Django, чтобы сообщить Django, что он может отправлять и получать данные из указанного источника.
Для регистрации источника мы должны выполнить следующие шаги.
- Установка заголовков 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 будет устранена :). Перед развертыванием приложения в производственной среде обязательно проверьте разрешенный узел.