django-environを使用して環境変数を管理しています。
ユーザがAPIキーを入力すると、.envファイルに入力されたAPIキーを書き込むようにしています。
それ以降、ユーザがAPIキーを使用する操作を行った場合は、.envファイルからAPIキーを読みだすようにしています。
runserverしながら挙動を確認していると、
ユーザがAPIキーを変更しても一度サーバをリスタートしなければ変更が反映されません。
ファイルに保存するときは以下のように処理しています。
python
1exist_file_path = '.env' 2if os.path.exists(exist_file_path): 3 os.remove(exist_file_path) 4env_apikey = f"API_KEY={data}" 5with open(exist_file_path, 'w') as f: 6 f.write(env_apikey)
このほかに、実際にAPIキーを使用する処理の中で次のように処理しています。
python
1BASE_DIR = environ.Path(__file__) - 3 2ENV_FILE = str(BASE_DIR.path('.env')) 3 4env = environ.Env() 5env.read_env(ENV_FILE) 6apikey = env('API_KEY')
.envファイル自体はユーザの入力を受け取って新しいものに書き換わるのですが、
上記でAPIキーを取得すると書き換わる前のAPIキーが取得されてしまいます。
どのようにすればサーバをリスタートすることなく常に最新のAPIキーを取得することができるのでしょうか。
ご教示いただけますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。