Django从无提升KeyError(键)?

时间:2018-01-15 05:38:55

标签: python django

我正在尝试将我的项目部署到生产环境中,但我无法正确配置它。这是我得到的当前错误

    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\1111\Desktop\2222\2222\settings.py", line 23, in <module>
    SECRET_KEY = os.environ['SECRET_KEY']
  File "C:\Users\1111\AppData\Local\Programs\Python\Python36-32\lib\os.py", line 669, in __getitem__
    raise KeyError(key) from None
KeyError: 'SECRET_KEY'

C:\Users\1111\Desktop\2222>

settings.py第23行

  

SECRET_KEY = os.environ ['SECRET_KEY']

请帮助,不知道该怎么做

好的wsgi.py我把它粘贴在

os.environ [“SECRET_KEY”] ='abcdef'

我保存,试图再次跑,但得到同样的错误:

    raise KeyError(key) from None
KeyError: 'SECRET_KEY'

好的我尝试使用“os.environ.get('SECRET_KEY',”default_value“)”而现在它可以正常使用

“CommandError:如果DEBUG为False,则必须设置settings.ALLOWED_HOSTS。”代替

现在要解决上面我试过的问题

  

ALLOWED_HOSTS = ['*']

在settings.py中

并且它有效!

2 个答案:

答案 0 :(得分:0)

您需要定义一个SECRET_KEY环境变量,您可以按照给定 here

的步骤来执行此操作

答案 1 :(得分:0)

您应该使用

password = str(os.environ.get('PASSWORD')) 

代替

password = str(os.environ['PASSWORD'])