Get raise KeyError (key) KeyError: "SECRET_KEY" with django in performance settings

I have 2 separate settings files for production and development and a common base.py settings file
base.py

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

prod.py

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

manage.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) 

When I enter this into the terminal:

 python manage.py shell --settings=entri.settings.prod 

I get an error message:

 raise KeyError(key) KeyError: 'SECRET_KEY' 

Help me, I'm new to django and python

+7
python django keyerror
source share
2 answers

I think you are trying to do this locally and do not have the SECRET_KEY setting in your environment.

Install it using

 export SECRET_KEY="somesecretvalue" 

and then running python manage.py shell --settings=entri.settings.prod should work fine.

+6
source share

I use os.getenv ('SECRET_KEY') instead of 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 

my python version is 2.7.12

0
source share

All Articles