本番環境と開発用の2つの個別の設定ファイルと共通のbase.py設定ファイルがあります
base.py
SECRET_KEY = r"!@#$%^&123456"
prod.py
from .base import *
SECRET_KEY = os.environ['SECRET_KEY']
manage.py
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("Django_SETTINGS_MODULE", "project.settings.dev")
from Django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
ターミナルにこれを入力すると:
python manage.py Shell --settings=entri.settings.prod
エラーが発生します:
raise KeyError(key)
KeyError: 'SECRET_KEY'
私を助けてください、私はDjangoとpythonに不慣れです
これをローカルで試していると思いますが、環境にSECRET_KEY
が設定されていません。
を使用して設定します
export SECRET_KEY="somesecretvalue"
その後、python manage.py Shell --settings=entri.settings.prod
を実行すると正常に動作するはずです。
Os.environ ['SECRET_KEY']の代わりにos.getenv( 'SECRET_KEY')を使用します
print os.getenv('SECRET_KEY') #returns None if KEY doesn't exist
print os.getenv('SECRET_KEY', 0) #will return 0 if KEY doesn't exist
私のpythonバージョンは2.7.12です