首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量错误窗口10

变量错误窗口10
EN

Stack Overflow用户
提问于 2018-08-20 14:23:57
回答 3查看 1.4K关注 0票数 1

通过在激活文件中设置环境变量,我试图在Python 3虚拟环境中设置环境变量。(在这种情况下,我正在为我的开发环境设置它们。)

激活了虚拟程序(env/script/activate),在powershell行的开头看到"(venv)“,我运行:

代码语言:javascript
复制
python manage.py runserver

在manage.py文件中,我指定了要使用的设置文件。和设置文件的内容,我将在下面显示在这篇文章。

变量应该传递给我的Django应用程序,但是我得到了以下错误:

代码语言:javascript
复制
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

搜索internet,主要是找到不同的设置环境变量的方法,但是每个方法都有相同的错误。所以我想知道我做错了什么。

我尝试过的:

似乎我必须在位于activate.bat的“env/scripts/activate.bat”文件中设置环境变量。我尝试过不同的方法来完成这个操作,并且在这个文件中尝试了相同的方法:env/scripts/activate (没有.bat扩展名),这是肯定的。

我尝试将以下格式的行添加到激活文件的末尾:

代码语言:javascript
复制
set "SECRET_KEY=^af*$gsdgaGJA4gg($g134FADGJ"

set SECRET_KEY=^af*$gsdgaGJA4gg($g134FADGJ

export SECRET_KEY="^af*$gsdgaGJA4gg($g134FADGJ"

(我实际上并没有像上面所发现的那样使用秘密密钥,但是却使用了Django本身生成的密钥,这个密钥仅用于演示,并不满足Django的要求。)

我的settings.py文件

在我的settings.py文件中,我有一行来获取SECRET_KEY:

代码语言:javascript
复制
SECRET_KEY = os.environ['SECRET_KEY']

我已经决定不发布完整的settings.py文件,因为它似乎没有必要。

EN

回答 3

Stack Overflow用户

发布于 2018-08-20 14:25:42

SECRET_KEY必须包含在您的settings.py中。

它可以从env变量中提取,但您必须自己处理。

我自己处理这件事,是指在settings.py中增加如下内容:

代码语言:javascript
复制
SECRET_KEY = os.environ.get('SECRET_KEY', '')
票数 0
EN

Stack Overflow用户

发布于 2021-04-06 04:48:29

我有同样的问题,我通过关闭我的shell,然后在添加了我的环境变量之后重新激活我的虚拟env来修复它。

如果打开shell并运行python解释器,则可以通过运行Import osos.environ.keys()查看环境变量。如果您没有看到您的变量,则很可能需要重新启动虚拟环境,以便它能够获取您添加的系统变量。

票数 0
EN

Stack Overflow用户

发布于 2022-07-19 15:33:19

我看到没有标记的答案,然后我添加我的,以防止它可以帮助人们。

我认为这里有很好的配置,但是在添加虚拟环境变量后忘记关闭cmd提示符或powershell提示符。并启动一个新的cmd提示,以强制重新加载环境变量。

对于使用这样的IDE的人来说,这是一样的,您需要关闭所有VSCode窗口,然后再次打开VSCode。

总结一下以下配置是很好的:

在settings.py中:

代码语言:javascript
复制
SECRET_KEY = os.environ['SECRET_KEY']

为windows用户添加一个环境变量SECRET_KEY。

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

https://stackoverflow.com/questions/51932880

复制
相关文章

相似问题

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