LoginSignup
1
1

More than 1 year has passed since last update.

[環境変数] os.environ.get()を使用しねえ!!Pydanticを使用した環境変数の取得方法!!

Last updated at Posted at 2023-03-11

早速みていきましょう!

  1. .envファイルやAWSのパラメータストアから環境変数を取得し、アプリケーションのコンテナを立ち上げる
  2. コンテナ内で取得した環境変数を設定クラスに記述
  3. 設定クラスをインスタンス化することで利用可能
.env
DEBUG=1
TEST=hoge
example.py
from pydantic import BaseSettings

class VariableSettings(BaseSettings):
    """
    環境変数を取得する設定クラス
    """
    DEBUG: bool
    TEST: str
    AAA: str = "BBB"
  
settings = VariableSettings()
print(settings.DEBUG) # True
print(settings.TEST) # hoge
print(settings.AAA) # BBB

load_dotenv()で取得せず、このやり方にするメリット

  1. 環境変数の型を指定できる
  2. settings.py内でどんな環境変数が使用されているか一目でわかる
  3. タイポしていると読み込み時にエラーになるので分かりやすい
  4. 何度も同じ文字列を書く必要がない
  5. 編集する箇所が限定されている(エディタの機能でリネームしやすい)

参考

pydanticで設定ファイルのバリデーションをする

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1