在部署到Heroku的Django中访问生产中的环境变量

时间:2020-09-20 09:52:37

标签: django heroku environment-variables

我正在Django中开发一个Web应用程序,该应用程序需要发送自动电子邮件。 usernamepassword本地保存在我的Windows 10环境变量中。该应用程序能够在本地发送电子邮件,但一旦部署到Heroku,就会感到自豪:

530, b'5.7.0 Authentication Required. Learn more at\n5.7.0  https://support.google.com/mail/?p=WantAuthError y7sm6660123qtn.11 - gsmtp', 'webmaster@localhost'

我的猜测是未访问环境变量,这就是引发此错误的原因。

这是我在 settings.py

中的代码
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = os.environ.get('NAHE-USER')
EMAIL_HOST_PASSWORD = os.environ.get('NAHE-PASS')

1 个答案:

答案 0 :(得分:0)

您可以使用Config Vars在Heroku中定义环境变量(NAHE-USER,NAHE-PASS)。
这些是在运行时注入的,您的代码将通过os.environ.get('NAHE-USER')

进行访问