django的错误页面是非常赞的,而且它还有个功能,就是将settings.py中的DEBUG设置为False时,500错误会自动发送到ADMINS中设置的邮件地址(文档)。 这样即使在正式环境中关闭了DEBUG,也能通过邮件监视服务器错误。

不过这里面有个陷阱:万一邮件设置有误怎么办?django默认使用SMTP协议发送邮件,默认服务器地址为 localhost:25。 如果与服务器环境不一致,就要改变django的邮件设置(文档)。因此完整的设置如下:

 

DEBUG = False

ADMINS = (
    ('admin', 'admin@yoursite.com'),
)

EMAIL_HOST = 'smtp.yoursite.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'your_account'
EMAIL_HOST_PASSWORD = 's3cret'