Как настроить CORS_ALLOWED_ORIGINS django?

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 (разрешить все заголовки запроса), и многое другое. Вы можете ознакомиться с полным списком настроек в официальной документации.