Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取raise KeyError(key)KeyError:&x27;密钥';在生产设置上使用django_Python_Django_Keyerror - Fatal编程技术网

Python 获取raise KeyError(key)KeyError:&x27;密钥';在生产设置上使用django

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设置文件
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你可以问一个新的问题,与你所面临的确切问题,并希望有人从社区中回答:)