Доступ к XMLHttpRequest по адресу 'http://127.0.0.1:8000/login/' из источника 'http://localhost:3000' был заблокирован политикой CORS.
полная ошибка: Access to XMLHttpRequest at 'http://127.0.0.1:8000/login/' from origin 'http://localhost:3000' has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.
settings.py:
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOWED_ORIGINS = [
'http://localhost:3000',
]
CORS_ALLOW_HEADERS = ['*']
INSTALLED_APPS = [
'django_debugger',
'django_extensions',
'corsheaders',
'rest_framework',
'main',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
в react (со стороны фронтенда):
function Login(){
const [login,setLogin] = useState({
email: '',
password:''
});
const { email, password } = login;
function handleChange(e){
console.log(e.target.value);
setLogin({
...login,
[e.target.name]: e.target.value
});
}
function handleSubmit(e){
e.preventDefault();
axios.post(' http://127.0.0.1:8000/login/',login, {withCredentials:true})
}
мой метод аутентификации использует сессии, я не уверен, как решить эту проблему CORS