Django 로 REST Api 를 만든 후 Front 단에서 연결을 할 때 CORS 오류가 난다.
CORS란? (Crosss-Origin Resource Sharing)
웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다.
pip install django-cors-headers
settings.py
INSTALLED_APPS = [
# ...
'corsheaders', # 추가
# ... 앱
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware', # 맨 위에 추가
'django.middleware.common.CommonMiddleware', # 추가
# ...
]
# cors 추가
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = ( # 실제 요청에 허용되는 HTTP 동사 리스트
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CORS_ALLOW_HEADERS = [
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
]