CORS는 Cross-Origin Resource Sharing의 약자로, 웹 애플리케이션에서 다른 도메인으로부터 리소스를 요청할 때 발생하는 보안 이슈를 해결하기 위해 사용됩니다. Python으로 웹 애플리케이션을 개발할 때, 서버 측에서 CORS를 설정하는 작업이 필요합니다. 이번 포스트에서는 python-dotenv
라이브러리를 사용하여 Python 애플리케이션에서 CORS를 설정하는 방법에 대해 알아보겠습니다.
1. python-dotenv
설치하기
먼저, python-dotenv
패키지를 설치해야합니다. 다음 명령어를 사용하여 설치할 수 있습니다:
pip install python-dotenv
2. .env
파일 생성하기
CORS 설정을 위해 .env
파일을 생성해야합니다. 이 파일에는 원하는 CORS 설정 값을 지정할 수 있습니다. 예를 들어, 다음과 같이 .env
파일을 작성할 수 있습니다:
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://example.com
CORS_ALLOWED_METHODS=GET,POST
위의 예시에서는 CORS_ALLOWED_ORIGINS
변수를 사용하여 허용된 도메인을 지정하고, CORS_ALLOWED_METHODS
변수를 사용하여 허용된 HTTP 메서드를 지정합니다.
3. settings.py
파일에서 .env
파일 로드하기
CORS 설정 값을 사용하기 위해, settings.py
파일에서 .env
파일을 로드해야합니다.
import os
from dotenv import load_dotenv
load_dotenv()
CORS_ALLOWED_ORIGINS = os.getenv("CORS_ALLOWED_ORIGINS")
CORS_ALLOWED_METHODS = os.getenv("CORS_ALLOWED_METHODS")
위의 예시에서는 .env
파일을 로드하고, os.getenv()
함수를 사용하여 .env
파일에 정의된 변수 값을 가져옵니다.
4. CORS 미들웨어 추가하기
마지막으로, Python 웹 애플리케이션의 미들웨어에 CORS를 설정해야합니다. 예를 들어, Django 프레임워크를 사용한다면, settings.py
파일에 다음 코드를 추가할 수 있습니다:
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
CORS_ALLOWED_ORIGINS = ['http://localhost:3000', 'http://example.com']
CORS_ALLOW_METHODS = ['GET', 'POST']
위의 예시에서는 corsheaders.middleware.CorsMiddleware
를 미들웨어에 추가하고, CORS_ALLOWED_ORIGINS
변수를 사용하여 허용된 도메인을 지정하며, CORS_ALLOWED_METHODS
변수를 사용하여 허용된 HTTP 메서드를 지정합니다.
이제 Python 애플리케이션에서 CORS가 설정되었습니다.
결론
python-dotenv
를 사용하여 Python 애플리케이션에서 CORS를 설정하는 방법에 대해 알아보았습니다. 이 방법을 사용하면 .env
파일에 원하는 CORS 설정값을 지정하여 간편하게 CORS를 설정할 수 있습니다.