私はpython3/flaskを使用して非常にシンプルなREST apiを構築したいと考えています。
たとえば、flask
に必要なSECRET_KEY
を環境変数として設定するとします。
それについての推奨される方法は何ですか?
私はpython-dotenv
パッケージを許可する(またはrequires?と言う必要があります).flaskenv
ファイルを、環境変数を次の形式のキーと値のペアとして設定します。
SECRET_KEY="my_secret_key"
DB_NAME="mydatabase"
等.
次に(私は仮定します)次のようなsettings.py
ファイルを作成できます
import os
SECRET_KEY = os.getenv('SECRET_KEY`)
次に、flaskファイルなどに対してimport settings
を実行します。
私の主な質問は、そのような.flaskenv
ファイルがないコンテナ化された環境でこれをどのように適応できるかですが、それぞれの変数はコンテナ自体のランタイム環境変数として使用できます(たとえば、オーケストレータを介して)
上記の形式のsettings.py
は、.flaskenv
がない場合でも環境変数を取得できますか?
インタープリターで環境変数を設定します。
_export SECRET_KEY=123
_
environ.get()
を使用して変数を呼び出します。
_from os import environ
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = environ.get('SECRET_KEY')
_
確認:
_@app.route('/verify')
def verify():
return '<p>' + app.config['SECRET_KEY'] + '</p>'
_