Python 在uuu getitem_uuuuu中,从“无”引发密钥错误(密钥)

Python 在uuu getitem_uuuuu中,从“无”引发密钥错误(密钥),python,django,Python,Django,我目前正在学习一个教程,其中数据库密码作为变量隐藏/激活在环境激活文件中。在Django local_settings.py中,应该像这样检索密码: "PASSWORD": os.environ['DATABASE_PW'], 但是,这给了我一个错误: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line

我目前正在学习一个教程,其中数据库密码作为变量隐藏/激活在环境激活文件中。在Django local_settings.py中,应该像这样检索密码:

"PASSWORD": os.environ['DATABASE_PW'],
但是,这给了我一个错误:

  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\User\Desktop\blog\project\project\settings.py"
, line 325, in <module>
    exec(open(f, "rb").read())
  File "<string>", line 21, in <module>
  File "C:\Users\User\Envs\blog\lib\os.py", line 678, in __getitem__
    raise KeyError(key) from None
KeyError: 'DATABASE_PW'
服务器在设置密码期间没有运行,错误发生在我尝试运行python manage.py runserver时

在尝试运行服务器之前,我还禁用并重新激活了环境


由于我在windows上运行,激活environment activate文件中隐藏变量的正确方法是将它们放在activate.bat文件中

我在底部的.bat文件中这样设置我的:

set DATABASE_PW=dbpass

它是有效的。如果您在linux或mac上运行,如果您计划以同样的方式运行,则需要使用正确的激活文件。

如果我没有记错,export不喜欢
=
周围的空格。尝试删除空格并再次运行。可以在前面的一行中尝试
print(os.environ)
,查看是否一切都如您所期望的那样。您应该更改标题或提出新问题。现在您的环境变量已正确导出,您应该在db控制台中向您的db授予
用户
的访问权限
set DATABASE_PW=dbpass