Heroku では、構成変数を利用してアプリケーションを管理できます。私のフラスコアプリケーション内にある私のconfig.pyファイルの例は次のとおりです。
import os
# flask
PORT = int(os.getenv("PORT", 5000))
basedir = str(os.path.abspath(os.path.dirname(__file__)))
SECRET_KEY = str(os.getenv("APP_SECRET_KEY"))
DEBUG = str(os.getenv("DEBUG"))
ALLOWED_EXTENSIONS = str(os.getenv("ALLOWED_EXTENSIONS"))
TESTING = os.getenv("TESTING", False)
# s3
AWS_ACCESS_KEY_ID = str(os.getenv("AWS_ACCESS_KEY_ID"))
AWS_SECRET_ACCESS_KEY = str(os.getenv("AWS_SECRET_ACCESS_KEY"))
S3_BUCKET = str(os.getenv("S3_BUCKET"))
S3_UPLOAD_DIRECTORY = str(os.getenv("S3_UPLOAD_DIRECTORY"))
これで、2 つの異なる結果セットを取得できます。それは私の環境変数から引き出します。1 つは、アプリケーションがローカル コンピューター上にあり、本番環境では Heroku 構成変数からのものです。例えば。
DEBUG = str(os.getenv("DEBUG"))
私のローカルコンピュータでは「TRUE」です。しかし、Heroku では False です。Heroku の設定を確認するために実行します。
Heroku config
また、いくつかのファイルをプロジェクトの一部としてローカルに保持したいが、heroku や github では保持したくない場合は、git ignoreを使用できます。もちろん、これらのファイルは本番アプリケーションには存在しません。