環境変数の扱いについて
自分自身も完全に忘れていたため、投稿。
settings.pyにSECRET_KEYなどを直書きして、そのままgitなどにpushすると、漏洩の問題が出てきます。
そこで環境変数を用いて、管理することができます。
django-environをインストールして使用します。
$ pip install django-environ
Djangoプロジェクトのmanage.pyがある階層に.envファイルを作成して、その中に変数を書いていきます。
.env
SECRET_KEY=xxx # settings.py内の値を代入
local環境では、先ほど作成した.envファイルを読み込み、記述した変数を使用します。
settings.py
import environ
if not HEROKU_ENV:
env.read_env('.env')
SECRET_KEY=env("SECRET_KEY")
この.envファイルは.gitignoreに追加しておきます。
.gitignore
.env
ローカル環境では、これで環境変数を読み込むことができます。
しかし、.envファイルは追跡対象から外しているため、Heroku環境では使用することができません。
そのため、下記コマンドでherokuの環境変数に追加する必要があります。
$ heroku config:set SECRET_KEY=xxx # settings.py内の値を代入
これで、Heroku環境でも環境変数を使用することができます。