環境変数を利用したいのですが、上手くいきません、、、
環境変数を用いようとすると、下記のエラーを吐き、実行できなくなります。
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
BASE_DIR = Path(__file__).resolve().parent.parent
env = environ.Env()
environ.Env.read_env()
print(env.str('SECRET_KEY'))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'シークレットキー'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
*print(env.str('SECRET_KEY'))を消すと普通に実行されます。
また、シークレットキーには
SECRET_KEY=シークレットキー
という感じで代入されています。
こちらで実行できるようになるかと思います。
env = environ.Env()
env.read_env(os.path.join(BASE_DIR, '.env'))
SECRET_KEY = env('SECRET_KEY')
関係があるのか分かりませんが、
SECRET_KEYの値が$から始まるので、
.env内の値から先頭の$を除去し
SECRET_KEY = '$'+env('SECRET_KEY')
とした所、動作しました。
正しい対応なのかわかりませんが、ひとまずエラーは吐かなくなりました。。
ちょっとよく分からない事がいっぱい起きますね。笑
やはり、
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
のエラーを吐きます、、、