#はじめに
Djangoで開発と本番用のsettings.pyを分けるのがめんどくさいなぁと思っていて、Railsと同様にIfで分岐すればいいんじゃない?と思ってやってみました。
#やり方
以下のような感じで環境変数を元に判断させることができました。
settings.py(準備)
import os
try:
if os.environ['ENV'] == 'DEVELOP':
django_env_is = 'DEVELOP'
elif os.environ['ENV'] == 'LOCAL':
django_env_is = 'LOCAL'
else:
django_env_is = 'PRODUCTION'
except:
django_env_is = 'PRODUCTION'
ENV
環境変数が定義されていなかったら、PRODUCTION環境。
ENV
環境変数がDEVELOP
だったら、DEVELOP環境。
ENV
環境変数がLOCAL
だったら、LOCAL環境。
ENV
環境変数がDEVELOP
、LOCAL
以外だったら、PRODUCTION環境。
という具合になっております。
import os
を忘れがちなので注意。
そして、環境によって設定を分岐させたいところを以下のように書き換えます。
settings.py(実装)
if django_env_is == 'DEVELOP' or django_env_is == 'LOCAL':
DEBUG = True
else:
DEBUG = False
以上です!