получение raise KeyError (key) KeyError: "секретный ключ" с django в настройках производства
у меня есть 2 отдельных файла настроек для производства и разработки и общий base.py файл настроек
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)
когда я вхожу в терминал:
python manage.py shell --settings=entri.settings.prod
я получаю ошибку:
raise KeyError(key)
KeyError: 'SECRET_KEY'
помогите мне, я новичок в django и python
2 ответов
Я думаю, вы пытаетесь это локально, и у вас нет SECRET_KEY
настройки в вашей среде.
установите его с помощью
export SECRET_KEY="somesecretvalue"
и потом работает python manage.py shell --settings=entri.settings.prod
должно работать нормально.
Я использую ОС.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