提高 KeyError(key) KeyError: 'SECRET_KEY' with django on production settings

新手上路,请多包涵

我有 2 个用于生产和开发的独立设置文件以及一个通用的 base.py 设置文件

基地.py

 SECRET_KEY = r"!@#$%^&123456"

产品.py

 from .base import *
SECRET_KEY = os.environ['SECRET_KEY']

管理.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 的新手

原文由 sidx 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 495
2 个回答

我认为您正在本地尝试此操作,并且您的环境中没有 SECRET_KEY 设置。

设置它使用

export SECRET_KEY="somesecretvalue"

然后运行 python manage.py shell --settings=entri.settings.prod 应该可以正常工作。

原文由 Anshul Goyal 发布,翻译遵循 CC BY-SA 3.0 许可协议

我使用 os.getenv(‘SECRET_KEY’),而不是 os.environ[‘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

原文由 chank 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题