Python 获取raise KeyError(key)KeyError:&x27;密钥';在生产设置上使用django
我有两个单独的生产和开发设置文件和一个公共base.py设置文件Python 获取raise KeyError(key)KeyError:&x27;密钥';在生产设置上使用django,python,django,keyerror,Python,Django,Keyerror,我有两个单独的生产和开发设置文件和一个公共base.py设置文件 base.py SECRET_KEY = r"!@#$%^&123456" from .base import * SECRET_KEY = os.environ['SECRET_KEY'] #!/usr/bin/env python import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_
base.py
SECRET_KEY = r"!@#$%^&123456"
from .base import *
SECRET_KEY = os.environ['SECRET_KEY']
#!/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)
prod.py
SECRET_KEY = r"!@#$%^&123456"
from .base import *
SECRET_KEY = os.environ['SECRET_KEY']
#!/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)
管理.py
SECRET_KEY = r"!@#$%^&123456"
from .base import *
SECRET_KEY = os.environ['SECRET_KEY']
#!/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的新手我认为您正在本地尝试此功能,并且您的环境中没有设置
密钥
使用
export SECRET_KEY="somesecretvalue"
然后运行python manage.py shell--settings=entri.settings.prod应该可以正常工作。我使用os.getenv('SECRET\u KEY'),而不是os.environ['SECRET\u 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那么,您在哪里设置SECRET_-KEY环境变量?我想您是在本地尝试,而您的环境中没有设置SECRET_-KEY。使用export SECRET\u KEY=“somevalue”
进行设置,这样就可以正常工作了。@mu無 是的,我在本地运行这个。我在base.py中设置了密钥。该文件将导入prod.py。难道这还不够吗??我错过了什么?@mu無 谢谢你,我知道了,你是对的。非常感谢您为我将其简化。@DanielRoseman也感谢您的评论。您好,您能解释如何在环境中设置密钥吗?我遇到了这个问题,无法解决。感谢you@CThomas你可以问一个新的问题,与你所面临的确切问题,并希望有人从社区中回答:)