본문 바로가기

Software Engineering/Python

pydantic을 사용하여 환경변수 로딩하기

아래와 같이 세팅 클래스를 만들고 인스턴수화 한 후, 필요한 파일에서 호출하여 사용한다.

Config 내부 클래스의 'env_file' 속성을 설정하면 해당 클래스를 인스턴스화 할때 자동으로 환경 변수를 로딩한다.

 

from pydantic import BaseSettings

class Settings(BaseSettings):
    DATABASE_URL: str
    KAFKA_BOOTSTRAP_SERVERS: str
    KAFKA_TOPIC: str
    EXTERNAL_API_URL: str

    class Config:
        env_file = ".env"

settings = Settings()

 

아래 처럼 호출한 후 전역 변수 처럼 사용 가능하다.

 

from app.config.settings import settings

 

settings.xxx