Ошибка политики cors : Ответ на предварительный запрос не проходит проверку контроля доступа: Нет 'Access-Control-Allow-Origin

Я установил django-cors-headers и это settings.py :

    ALLOWED_HOSTS = os.environ.get("ALLOWED_HOSTS","").split()

MIDDLEWARE = [
    
    'django.middleware.security.SecurityMiddleware',
    
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.RemoteUserMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

а также :

    CORS_ALLOW_ALL_ORIGINS = True  
CORS_ALLOW_CREDENTIALS = True

но я получил эту ошибку в chrome consloe:

Access to XMLHttpRequest at 'https://event-alpha.mizbans.com/api/meetings/?memory=0' from origin 'https://alpha.mizbans.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

У меня была похожая проблема, и все дело было в CORS_ALLOW_ALL_ORIGINS. Оказалось, что он не работает хорошо с чем-то еще (извините, не помню уже с чем, возможно с аутентификацией). Поэтому мне пришлось добавить конкретные источники. Вот вся моя установка:

# CORS SETUP
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOWED_ORIGINS = [
    'http://localhost:4200',
    'http://127.0.0.1:4200'
]

CSRF_COOKIE_HTTPONLY = True
SESSION_COOKIE_HTTPONLY = True

SESSION_COOKIE_SAMESITE = 'None'
CSRF_COOKIE_SAMESITE = 'None'

Для меня это работает сейчас с этой комбинацией.

Вернуться на верх