LoginSignup
0
2

More than 3 years have passed since last update.

Djangoで作成したアプリをHerokuにデプロイする際の環境変数の扱い

Posted at

環境変数の扱いについて

自分自身も完全に忘れていたため、投稿。

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環境でも環境変数を使用することができます。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2