Я включил 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, если вашему проекту это необходимо.