我尝试在settings.py中设置ADMINS变量,以便在500错误时收到电子邮件 我已经阅读了设置文档,并定义了以下内容:
ADMINS = (('{name}', '{email@mycompany.com}'))
SERVER_EMAIL = '{account name}@localhost'
ALLOWED_HOSTS = ['.{mycompany}.com']
出于某种原因,我收到一封电子邮件,其中包含" Undeliverable:[Django] ERROR(外部IP):内部服务器错误:"
我注意到在原始邮件标题中,电子邮件被发送到" m,m" ,我没有定义。
知道那可能是什么吗?
谢谢!
亚历
答案 0 :(得分:1)
诀窍是Django期待ADMINS中的元组元组,但实际上你只给出了一个元组:外部括号实际上被忽略了,因为在Python中它不是定义元组的parens,而是逗号
mail_admins函数中的代码尝试通过执行[a[1] for a in settings.ADMINS]
从设置中提取电子邮件,因此在您的情况下,它将使用名称的第二个字母和电子邮件地址的第二个字母 - 可能是这两个字母碰巧是" m"。
请改为:
ADMINS = (('{name}', '{email@mycompany.com}'),)
请注意最终关闭前的额外逗号。