Programming/장고(django) - API

장고(django)/ CORS

esoog Polaris 2023. 9. 13. 23:56
반응형

# CORS (Cross-Origin Resource Sharing):

CORS를 사용해서 다른 도메인에서 웹 페이지 또는 앱에 대한 요청 허용여부를 컨트롤할 수 있다.

 

 

 

 

# django-cors-headers 패키지, cryptography 패키지를 설치

pip install django-cors-headers cryptography

 

 

 

 

# Django 프로젝트 설정에 CORS 추가


Django 프로젝트의 설정 파일 (보통 settings.py)을 열고 CORS 설정을 추가

INSTALLED_APPS = [
    # ...
    'corsheaders',  # corsheaders를 추가합니다.
    # ...
]

MIDDLEWARE = [
    # ...
    'corsheaders.middleware.CorsMiddleware',  # corsheaders 미들웨어를 추가합니다.
    # ...
]

# CORS 설정 추가
CORS_ALLOW_CREDENTIALS = True  # 자격 증명을 사용하는 경우 True로 설정
CORS_ALLOWED_ORIGINS = [
    "http://localhost:3000",  # 허용할 원본 도메인을 여기에 추가
    "https://yourdomain.com",
]

 

 

 

 

 

# Django 앱에서 CORS 사용:

Django 앱에서 CORS를 사용하려면 `@corsheaders.middleware.cors_allow_all` 데코레이터를 사용할 수 있습니다. 예를 들어 뷰 함수에 다음과 같이 적용할 수 있습니다.

from corsheaders.decorators import cors_allow_all

@cors_allow_all
def my_view(request):
    # 뷰 로직을 작성합니다.

 

 

 

 

# 마이그레이션 수행:

CORS 설정을 추가했다면 마이그레이션을 수행하여 변경사항을 데이터베이스에 적용합니다.

python manage.py makemigrations
python manage.py migrate

 

 

 

 

이제 Django 프로젝트에서 CORS가 설정되었습니다. 설정을 완료하면 다른 도메인에서의 요청을 처리할 수 있게 됩니다.

728x90