django-environ 和 python-decouple 之间的区别?
Difference between django-environ and python-decouple?
这里我使用了django-environ
来设置环境变量,但是它让我SECRET_KEY
error.How正确配置环境变量?
我也为此使用了 python-decouple
而不是 django-environ
,它工作正常但不适用于 django-environ
。
django-environ
和 python-decouple
之间的区别是什么?
设置
import environ
env = environ.Env()
SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool("DEBUG", False)
.env 文件
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: Set the SECRET_KEY
environment variable
django-environ
工作正常,但您需要加载 .env
文件——仅仅实例化一个 Env
并不能做到这一点:
import environ
env = environ.Env()
env.read_env()
SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool("DEBUG", False)
此外,我发现 "sane defaults" 基于 DEBUG 值(必须仅在开发时为真)是一个有用的习语:
DEBUG = env.bool("DEBUG", False)
SECRET_KEY = env('SECRET_KEY', default=('insecure' if DEBUG else Env.NOTSET))
将 Env.NOTSET
设置为默认值将使 django-environ 抱怨未设置的值。
这里我使用了django-environ
来设置环境变量,但是它让我SECRET_KEY
error.How正确配置环境变量?
我也为此使用了 python-decouple
而不是 django-environ
,它工作正常但不适用于 django-environ
。
django-environ
和 python-decouple
之间的区别是什么?
设置
import environ
env = environ.Env()
SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool("DEBUG", False)
.env 文件
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: Set the SECRET_KEY environment variable
django-environ
工作正常,但您需要加载 .env
文件——仅仅实例化一个 Env
并不能做到这一点:
import environ
env = environ.Env()
env.read_env()
SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool("DEBUG", False)
此外,我发现 "sane defaults" 基于 DEBUG 值(必须仅在开发时为真)是一个有用的习语:
DEBUG = env.bool("DEBUG", False)
SECRET_KEY = env('SECRET_KEY', default=('insecure' if DEBUG else Env.NOTSET))
将 Env.NOTSET
设置为默认值将使 django-environ 抱怨未设置的值。