CORS (Cross-Origin Resource Sharing) - это механизм, который позволяет браузеру доступ к ресурсам, расположенным на другом домене (origin). Django предлагает настройку CORS через переменную CORS_ALLOWED_ORIGINS
, которая определяет список доменов, разрешенных для доступа к вашему Django приложению.
Для начала необходимо установить пакет django-cors-headers
. Вы можете сделать это с помощью pip, выполнив следующую команду:
pip install django-cors-headers
Затем вам нужно добавить corsheaders
в список установленных приложений в файле settings.py
вашего Django проекта:
INSTALLED_APPS = [ ... 'corsheaders', ... ]
Далее, добавьте CorsMiddleware
в список Middleware:
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', ... ]
После этого вы можете настроить значение переменной CORS_ALLOWED_ORIGINS
в файле settings.py
. Эта переменная должна содержать список доменов, разделенных запятыми, которым разрешен доступ:
CORS_ALLOWED_ORIGINS = [ 'http://example.com', 'https://example.com', ]
Вы можете использовать знак *
, чтобы разрешить доступ со всех доменов, но будьте осторожны, так как это может создать потенциальную уязвимость безопасности.
Теперь ваше Django приложение будет разрешать доступ к ресурсам с указанных доменов. Если запрос будет отправлен с другого домена, браузер будет блокировать доступ к ресурсам из-за политики безопасности Same-origin. Добавление CORS позволяет обойти эту политику и разрешить доступ к вашим ресурсам с других доменов.
Кроме того, Django CORS Headers предлагает и другие настройки, такие как CORS_ALLOWED_METHODS
(разрешенные HTTP методы), CORS_ALLOW_ALL_HEADERS
(разрешить все заголовки запроса), и многое другое. Вы можете ознакомиться с полным списком настроек в официальной документации.