环境变量适用于 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 配置中,您仍然可以在文件中包含环境变量,以便在服务器启动时读取它,或者您可以将这些变量存储在数据库中。
当我在 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 配置中,您仍然可以在文件中包含环境变量,以便在服务器启动时读取它,或者您可以将这些变量存储在数据库中。