首页 > 解决方案 > 设置环境变量后,我的 Django 项目中仍然出现 KeyError: 'SECRET_KEY'

问题描述

我在我的 pipenv 虚拟环境 bin/activate (linux) 或 scripts\activate(windows) 文件中为我的 django 项目创建了环境变量,我在设置文件中进行了必要的更改,并退出并重新激活了虚拟环境,但我仍然得到一个keyerror(我正在使用 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'

标签: djangopython-3.xwindowsheroku

解决方案


确保您的 os.environ 中有“SECRET_KEY”

使用此代码检查您是否有“SECRET_KEY”:

import os 
import pprint 

# Get the list of user's 
# environment variables 
env_var = os.environ 

# Print the list of user's 
# environment variables 
print("User's Environment variable:") 
pprint.pprint(dict(env_var), width = 1) 

您可能在环境变量列表中缺少“SECRET_KEY”。您可以添加一个变量:

# importing os module  
import os 

# Add a new environment variable  
os.environ['GeeksForGeeks'] = 'www.geeksforgeeks.org'

资源


推荐阅读