Django에서 CORS 허용하는 방법에 대해서 작성해둡니다. 


일단 CORS 에러는 다른 서버에서 리소스 요청이 올 때 발생하는 것인데요.

아래에 자세히 설명되어 있네요. 


https://developer.mozilla.org/ko/docs/Web/HTTP/Access_control_CORS



CORS 에러는 Chrome Developer Tool에서 보면 아래와 같이 보이죠.



불필요한 것은 좀 가렸고요. Access-Control-Allow-Origin .... CORS 문제입니다.


Django 환경에서 CORS 설정을 쉽게 설정하기 위해서는 django-cors-headers를 사용하면 편리합니다.


https://github.com/ottoyiu/django-cors-headers



설치는 pip install django-cors-headers 끝.


settings.py 설정을 바꿔주면 됩니다.



INSTALLED_APPS = [

    ...

    ...

    'corsheaders', #django-cors-headers

]



MIDDLEWARE_CLASSES = [

    #django-cors-headers

    'corsheaders.middleware.CorsMiddleware',  # <- 다른 것들보다 앞에 위치시켜주세요.

    'django.middleware.common.CommonMiddleware',

    ...

    ...

]



# django-cors-headers

CORS_ORIGIN_WHITELIST = (

    'localhost:8000',

    'domain_infomation',

    'ip_address',

)




그림도 추가 :-)





모든 곳에서 오는 리소스 요청을 허용하려면 


CORS_ORIGIN_ALLOW_ALL = True

CORS_ALLOW_CREDENTIALS = False 


를 설정하시면 됩니다. 별로 좋은 설정은 아니겠죠? 아마도.









+ Recent posts