环境变量适用于 Django 的服务器,但不适用于 Apache 服务器

Environment variables works on Django's server but not on Apache server

当我在 Django 的服务器中使用环境变量时,它起作用了。

SMTP_PASSWORD = os.environ["SMTP_PASSWORD"]

但是,当我 运行 在 Apache 上使用相同的代码时,却没有。代码 os.environ["..."] 根本不起作用。

我正在使用 Windows 10、Python 3.9.5 和 Django 3.2.4。

知道发生了什么吗?

您可以将环境变量放在 apache 配置中。

<VirtualHost hostname:443>
   ...
   SetEnv SMTP_PASSWORD smtp_password
   ...
</VirtualHost>

如果您不想将敏感信息放入 apache 配置中,您仍然可以在文件中包含环境变量,以便在服务器启动时读取它,或者您可以将这些变量存储在数据库中。