설명
-
Dynaconf는 Python에서 환경 설정과 관련된 문제를 해결하는 데 사용되는 라이브러리
-
이 라이브러리는 여러 환경(로컬, 개발, 스테이징, 프로덕션)에서 사용할 수 있는 구성을 정의하고
- 구성 값을 관리하는 간단하고 유연한 방법을 제공
-
Dynaconf를 사용하면 각 환경에서 다른 구성 값을 쉽게 관리할 수 있음
-
예를 들어,
- 로컬 환경에서는 SQLite 데이터베이스를 사용하고,
- 프로덕션 환경에서는 PostgreSQL을 사용하도록 설정할 수 있습니다.
-
또한 Dynaconf는 Python 데이터 타입(문자열, 숫자, 리스트 등)을 지원하므로 구성 값을 쉽게 변경할 수 있습니다.
장점
- 설정 파일이나 환경 변수를 변경할 때마다 애플리케이션을 다시 시작할 필요가 없습니다.
- 또한, 중복 코드를 줄일 수 있으며, 더 나은 유지 보수성과 읽기 쉬운 코드를 작성할 수 있습니다.
사용법
- 설정 파일을 작성하거나 환경 변수를 설정합니다.
- 설정 파일은 YAML, TOML, JSON, INI 등 다양한 형식으로 작성할 수 있습니다.
- 예를 들어,
- settings.toml 파일을 만들어서 다음과 같이 구성 값을 정의할 수 있습니다:
[database]
url = "sqlite:///data.db"
- 이제 Python 코드에서 dynaconf를 가져와서 사용할 수 있습니다:
from dynaconf import settings
db_url = settings.get("database.url")
- 또한, settings 객체는 Python 딕셔너리처럼 작동하므로, 다음과 같이 직접 접근하여 값을 변경할 수도 있습니다:
settings["database"]["url"] = "postgresql://user:password@localhost/dbname"