はい、その変数を展開できます。 Herokuは、12種類のアプリケーション(https://12factor.net)モデルに従います。このモデルでは、環境変数によってこれらの設定が提供されています(https://12factor.net/config参照)。 settings.py
ファイル(またはフレームワークに適したもの)には、EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', 'default')
のようなものがあります。
heroku config:set
コマンドを使用して環境変数を指定します。heroku config:set EMAIL_HOST_PASSWORD=value
。 Heroku上にデータベースをプロビジョニングした場合は、DATABASE_URL
変数も表示されます。
セキュリティはもう少し微妙です。一方で、ソースコードからパスワードを分離することは、必ず良いことです。もう一方では、プロバイダーが他のすべての構成から構成を保護し隔離することを信頼しています。
本当に編集的で、暗号化された値しか提供できません。しかし、解読鍵などを管理しなければならず、複雑になってしまいます。全体として、Herokuのようなプロバイダを信頼することは、非常に具体的なセキュリティ要件がない限り妥当であると考えています。この場合、おそらく別のインフラストラクチャ/プラットフォームプロバイダを検討すべきです。