gpt4 book ai didi

django - 通过邮件接收django错误调试报告 :

转载 作者:行者123 更新时间:2023-12-04 15:32:02 24 4
gpt4 key购买 nike

这是我在 django 设置中的配置:

MAILER_LIST = ['toto@toto.com']

EMAIL_HOST = 'toto.smtp.com'

EMAIL_HOST_USER = 'toto@toto.com'

EMAIL_HOST_PASSWORD = 'tata'

EMAIL_PORT = 587

EMAIL_USE_TLS = True

DEFAULT_FROM_EMAIL = 'toto@toto.com'

LOGGING = {

'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'DEBUG',
'class': 'django.utils.log.AdminEmailHandler',
'filters': [],
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'DEBUG',
'propagate': True,
},
}

}

我已经尝试调试:

from django.core.mail import EmailMessage
email = EmailMessage('Hello', 'World', to=['toto@toto.com'])
email.send()

如果我把它放在我的设置中,我会收到测试电子邮件。

我想通过电子邮件接收此错误报告(这只是一个示例,我已将此错误添加到我的代码中以测试邮件报告):

enter image description here

通过电子邮件获取调试日志我缺少什么?测试是发邮件所以不是邮件配置问题...

我想通过电子邮件获取报告并仍然在 Django 上显示调试页面。并在调试为真或不为真时获取电子邮件事件。

所以我在我的设置中设置了 DEBUG = True。

感谢和问候

最佳答案

如另一个答案所述,如果您想使用 django 内置 AdminEmailHandler,则需要提供 ADMINSMANAGERS 而不是 MAILER_LIST 在您的 settings.py 中。像这样:

ADMINS = ['toto@toto.com']  # better to use another mail than EMAIL_HOST_USER
MANAGERS = ADMINS

Django 的 utils.log 有两个选项来处理您的 DEBUG 值:RequireDebugFalseRequireDebugTrue

因此,如果您想在调试时向管理员发送错误电子邮件(settings.py 中的ADMINS 变量),那么您可以使用类似的设置:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue' # log while DEBUG=True
}
},
'handlers': {
'debug_mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'filters': [require_debug_true],
}
},
'loggers': {
'django.request': {
'handlers': ['debug_mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}

更新:

您也可以使用 logging.handlers.SMTPHandler。然后你可以写类似这样的代码:https://code.djangoproject.com/ticket/15917

关于django - 通过邮件接收django错误调试报告 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61080065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com