【发布时间】:2020-04-13 15:02:38
【问题描述】:
这是我在这里的第一篇文章。
我正在学习 Django,我正在尝试发送电子邮件以重置我的密码。有一个问题..
当我发送一封电子邮件并将我的用户名和密码分配给这些常量时,一切正常:
EMAIL_HOST_USER = 'abc.def@gmail.com'
EMAIL_HOST_PASSWORD = 'Abc123'
但是当我尝试使用环境变量时:
EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS')
我遇到了一个错误
SMTPRecipientsRefused at /password_reset/
{'abc.def@gmail.com': (501, b': 发件人地址必须包含域')}
我做错了吗? 也许我应该以不同的方式使用环境变量?
提前感谢您的帮助,伙计们!
【问题讨论】:
-
试试这个:EMAIL_HOST_USER = os.environ.get('EMAIL_USER').decode("utf-8") 或 EMAIL_HOST_USER = str(os.environ.get('EMAIL_USER'), 'utf -8')
-
@Ro0t 我都试过了,但我得到一个错误:'对象没有属性解码'和'需要一个类似字节的对象,发现 NoneType'
-
你可以发布 print(os.environ.get('EMAIL_USER')) 的输出吗?
-
@Ro0t 我在 print(os.environ.get('EMAIL_USER')) 之后得到的只是“无”。我不明白,我在环境变量方面做错了什么?
-
您是否使用这种语法来设置变量? os.environ['EMAIL_USER'] = 'abc.def@gmail.com'
标签: python django environment-variables