gpt4 book ai didi

Python、Django - 在 settings.py 中访问环境变量

转载 作者:行者123 更新时间:2023-12-04 14:15:56 27 4
gpt4 key购买 nike

在我的项目中,我想用 python/Django 发送一封电子邮件。为此,我需要指定多个设置,其中之一就是我的电子邮件的密码。我想从环境变量中检索它。

当我在 settings.py 中引用环境变量时,我收到一条消息,提示值错误,而不是我的实际密码。我确保在 bash_profile 中将环境变量设置为我的实际密码,并且当我在设置文件中硬编码我的密码时,电子邮件已成功发送。

这意味着在尝试将密码作为环境变量检索时会出现问题。

设置.py:

import os
# me trying to retrieve password
EMAIL_HOST_PASSWORD = os.environ.get('email_password')

有人知道这个问题吗?谢谢。

最佳答案

I ensured that the environment variable is set to my actual password within bash_profile

如果您遵循最佳实践并在虚拟环境中运行 Django,它有一组不同的环境变量。我怀疑如果您将设置更改为 os.environ['email_password'],您会收到 KeyError,因为该环境变量未设置。

导出环境变量的方法有很多种,但只是为了向自己证明这就是问题所在,请在启用虚拟环境的情况下直接在命令行中导出值,然后运行项目并尝试发送电子邮件。

编辑

由于您使用的是 pipenv,您只需在项目的根目录中添加一个 .env 文件,当您激活虚拟环境时,pipenv 会自动为您设置这些环境变量。

.env

SECRET_KEY=asolidsecretkey
email_password=somesecurepassword
...

关于Python、Django - 在 settings.py 中访问环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60347217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com