首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django环境和python解耦的区别?

django环境和python解耦的区别?
EN

Stack Overflow用户
提问于 2020-02-14 08:32:25
回答 1查看 2.2K关注 0票数 3

这里我使用了django-environ来设置环境变量,但是它给了我SECRET_KEY error.How来正确配置环境变量?

我还为此使用了python-decouple,而不是django-environ,后者工作得很好,但不适用于django-environ

django-environpython-decouple之间的区别是什么,这将是最好的?

设置

代码语言:javascript
复制
import environ
env = environ.Env()

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

.env文件

代码语言:javascript
复制
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环境变量

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 08:39:25

django-environ工作正常,但您需要加载.env文件--仅仅实例化Env并不能做到这一点:

代码语言:javascript
复制
import environ
env = environ.Env()
env.read_env()

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

此外,我还发现,根据调试值(只有在开发时才是正确的)设置"sane默认值“是一个有用的成语:

代码语言:javascript
复制
DEBUG = env.bool("DEBUG", False)
SECRET_KEY = env('SECRET_KEY', default=('insecure' if DEBUG else Env.NOTSET))

Env.NOTSET设置为默认值将使django-environ抱怨未设置的值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60222620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档