Настройка CORS (Cross-Origin Resource Sharing) - это важная задача при интеграции Django и React (или других фронтенд фреймворков), поскольку они выполняются на разных доменах (origin). CORS предотвращает выполнение запросов на сервер с домена, отличного от исходного домена, на котором выполняется код JavaScript. Без настройки CORS, вам не будет разрешено получать или отправлять данные через сетевые запросы AJAX или HTTP.
Для настройки CORS в Django 4.1.3 вам потребуется выполнить несколько шагов:
1. Установка пакета django-cors-headers:
pip install django-cors-headers
2. Добавление 'corsheaders' в список установленных приложений в файле settings.py:
INSTALLED_APPS = [ ... 'corsheaders', ... ]
3. Включение Middleware для обработки CORS в Django:
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', ... ]
4. Добавление настроек CORS в файле settings.py:
CORS_ALLOWED_ORIGINS = [ 'http://localhost:3000', # Замените этот URL на URL вашего React приложения ]
5. Настройка CORS для разрешения всех типов запросов:
CORS_ALLOW_ALL_ORIGINS = True
Или настройка CORS для разрешения только определенных типов запросов:
CORS_ALLOW_METHODS = [ 'GET', 'POST', ] CORS_ALLOW_HEADERS = [ 'Accept', 'Content-Type', ]
6. Применение миграций:
python manage.py migrate
После этих шагов ваше Django приложение будет настроено для работы с CORS и будет разрешено отправлять и получать данные с указанных вами доменов.
Если у вас есть дополнительные требования или ограничения по настройке CORS, вы можете ознакомиться с официальной документацией Django CORS Headers (https://github.com/adamchainz/django-cors-headers), чтобы узнать больше о доступных параметрах и настройках.