Я включил CORS в белый список в Django, но кросс-оригинальный запрос все равно блокируется

У меня есть Vue front-end и Django back-end, и я включил CORS в settings.py, но я все еще получаю эти ошибки:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8000/api/register. (Reason: expected ‘true’ in CORS header ‘Access-Control-Allow-Credentials’).

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8000/api/register. (Reason: CORS request did not succeed). Status code: (null).

Это находится в нижней части моего файла settings.py:

CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = (
    'http://localhost:8080',
    'http://localhost:8000',
)

Вы внесли свою конечную точку в белый список, но в случае CORS есть несколько вещей, которые также необходимы для правильной настройки.

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Headers
  • Access-Control-Allow-Methods
  • Access-Control-Allow-Credentials

Вы внесли свой источник в белый список, но заголовки, методы и учетные данные могут быть еще не настроены в вашем проекте Django. Заголовки и методы имеют значения по умолчанию, как указано в документации django-cors-headers. И последнее - Credentials, вы можете захотеть проверить, требует ли ваш проект аутентификации или нет. Если да, то CORS_ALLOW_CREDENTIALS (по умолчанию False) - это тот параметр, на который вам стоит обратить внимание, установите его в true, если вашему проекту это необходимо.

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