繁体   English   中英

Django 从 None 引发 KeyError(key)?

[英]Django raise KeyError(key) From None?

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

    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 中,它起作用了!

您需要定义一个 SECRET_KEY 环境变量,您可以按照此处给出的步骤进行操作

你应该使用

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

而不是使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM