【发布时间】:2020-09-14 12:49:27
【问题描述】:
我在我的 pipenv 虚拟环境 bin/activate (linux) 或 scripts\activate(windows) 文件中为我的 django 项目创建了环境变量,我在设置文件中进行了必要的更改以及退出并重新激活虚拟环境但我仍然出现密钥错误(我正在使用 Windows 机器)
settings.py 中的变量
SECRET_KEY = os.environ['SECRET_KEY']
EMAIL_HOST_PASSWORD = os.environ['EMAIL_HOST_PASSWORD']
virtualenv\scripts\activate 文件中的 evnvironment 变量
export SECRET_KEY= "mysecretkey"
export EMAIL_HOST_PASSWORD= "mypassword"
错误
File "C:\Users\Dell\.virtualenvs\team-272-SMES-Server-dSgdZ4Ig\lib\os.py", line 673, in __getitem__
raise KeyError(key) from None
KeyError: 'SECRET_KEY'
【问题讨论】:
-
在 Windows 上尝试
set SECRET_KEY="mysecretkey"。 -
@Alasdair 仍然遇到同样的错误
-
我不使用 Windows,所以没有任何建议。在激活虚拟环境后尝试输入
set- 我认为这应该会显示您的环境变量。您也可以尝试在运行manage.py之前手动运行set/export命令。这样您就可以确定问题是实际的命令,还是当您激活环境时它们没有运行。 -
在您的命令前添加
SECRET_KEY=mysecretkey,例如SECRET_KEY=mysecretkey python manage.py -
当你运行激活文件时,它可以设置Django可以从环境中读取的环境变量。 Django 从不查看激活文件。
标签: django python-3.x windows heroku