Разница между django -environ и python -decouple? - PullRequest
0 голосов
/ 14 февраля 2020

Здесь я использовал django-environ для установки переменной среды, но это дает мне SECRET_KEY ошибку. Как правильно настроить переменную среды?

Я также использовал python-decouple вместо этого вместо django-environ, который работает нормально, но не работает с django-environ.

В чем разница между django-environ и python-decouple, который будет наилучшим для этого?

settings

import environ
env = environ.Env()

SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool("DEBUG", False)

.env file

DEBUG = True
SECRET_KEY = #qoh86ptbe51lg0o#!v1#h(t+g&!4_v7f!ovsl^58bo)g4hqkq #this is the django gives 

Получил это исключение при использовании django-environ

django .core.exceptions.ImproperlyConfigured: установить SECRET_KEY переменная окружения

1 Ответ

1 голос
/ 14 февраля 2020

django-environ работает нормально, но вам нужно загрузить файл .env - просто создание экземпляра Env не делает этого:

import environ
env = environ.Env()
env.read_env()

SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool("DEBUG", False)

Кроме того, я нашел это полезным идиома, чтобы иметь «нормальные значения по умолчанию», основанные на значении DEBUG (которое должно быть истинным только при разработке):

DEBUG = env.bool("DEBUG", False)
SECRET_KEY = env('SECRET_KEY', default=('insecure' if DEBUG else Env.NOTSET))

Установка Env.NOTSET в качестве значения по умолчанию django -environ жалуется на неустановленные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...