# 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가 설정되었습니다. 설정을 완료하면 다른 도메인에서의 요청을 처리할 수 있게 됩니다.
반응형
'Programming > 장고(django) - API' 카테고리의 다른 글
장고(django)/ 도커 배포 (0) | 2024.11.17 |
---|---|
장고(django)/ WSGI 배포 (0) | 2023.09.27 |
장고(django)/ REST Framework(viewsets, permissons, routers 관련) (0) | 2023.06.08 |
장고(django)/ REST Framework(serializers 관련) (0) | 2023.06.08 |
장고(django)/ json to DB(제이슨 파일을 데이터베이스로) (0) | 2023.06.04 |