通过在激活文件中设置环境变量,我试图在Python 3虚拟环境中设置环境变量。(在这种情况下,我正在为我的开发环境设置它们。)
激活了虚拟程序(env/script/activate),在powershell行的开头看到"(venv)“,我运行:
python manage.py runserver在manage.py文件中,我指定了要使用的设置文件。和设置文件的内容,我将在下面显示在这篇文章。
变量应该传递给我的Django应用程序,但是我得到了以下错误:
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.搜索internet,主要是找到不同的设置环境变量的方法,但是每个方法都有相同的错误。所以我想知道我做错了什么。
我尝试过的:
似乎我必须在位于activate.bat的“env/scripts/activate.bat”文件中设置环境变量。我尝试过不同的方法来完成这个操作,并且在这个文件中尝试了相同的方法:env/scripts/activate (没有.bat扩展名),这是肯定的。
我尝试将以下格式的行添加到激活文件的末尾:
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:
SECRET_KEY = os.environ['SECRET_KEY']我已经决定不发布完整的settings.py文件,因为它似乎没有必要。
发布于 2018-08-20 14:25:42
SECRET_KEY必须包含在您的settings.py中。
它可以从env变量中提取,但您必须自己处理。
我自己处理这件事,是指在settings.py中增加如下内容:
SECRET_KEY = os.environ.get('SECRET_KEY', '')发布于 2021-04-06 04:48:29
我有同样的问题,我通过关闭我的shell,然后在添加了我的环境变量之后重新激活我的虚拟env来修复它。
如果打开shell并运行python解释器,则可以通过运行Import os和os.environ.keys()查看环境变量。如果您没有看到您的变量,则很可能需要重新启动虚拟环境,以便它能够获取您添加的系统变量。
发布于 2022-07-19 15:33:19
我看到没有标记的答案,然后我添加我的,以防止它可以帮助人们。
我认为这里有很好的配置,但是在添加虚拟环境变量后忘记关闭cmd提示符或powershell提示符。并启动一个新的cmd提示,以强制重新加载环境变量。
对于使用这样的IDE的人来说,这是一样的,您需要关闭所有VSCode窗口,然后再次打开VSCode。
总结一下以下配置是很好的:
在settings.py中:
SECRET_KEY = os.environ['SECRET_KEY']为windows用户添加一个环境变量SECRET_KEY。
https://stackoverflow.com/questions/51932880
复制相似问题