Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-对管理员错误电子邮件使用不同的电子邮件后端_Python_Django_Logging_Django Settings_Django Email - Fatal编程技术网

Python Django-对管理员错误电子邮件使用不同的电子邮件后端

Python Django-对管理员错误电子邮件使用不同的电子邮件后端,python,django,logging,django-settings,django-email,Python,Django,Logging,Django Settings,Django Email,我正在Django应用程序中使用自定义电子邮件后端(本例中为CeleryEmailBackend): 我的日志记录配置: LOGGING = { # ... 'handlers': { 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEm

我正在Django应用程序中使用自定义电子邮件后端(本例中为CeleryEmailBackend):

我的日志记录配置:

LOGGING = {
    # ...
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler',
    },
    # ...
}
管理员错误电子邮件也由同一电子邮件后端发送。
因此,如果电子邮件后端出现问题(例如芹菜未运行)。那么我就不会收到服务器错误电子邮件了


有没有办法让AdminEmailHandler使用自定义的电子邮件后端?

这是可能的,但在django 1.6中,引用:

通过设置AdminEmailHandler的email_backend参数,电子邮件 可以覆盖处理程序正在使用的后端,如 这:

如果您不想升级(因为1.6是不稳定的,例如),请考虑基于以下内容定制一个电子邮件处理程序。这应该不难,因为实际的实现是非常直接和干净的(参见)


或者,您可以从django 1.6中提取整个
AdminEmailHandler
类,并将其用作自定义电子邮件处理程序。

刚刚找到它。。。1.5有什么解决办法吗?太棒了!非常感谢。出于某种原因,这个解决方案对我来说不适用于1.8。任何一个有类似问题的人??
LOGGING = {
    # ...
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler',
    },
    # ...
}
'handlers': {
    'mail_admins': {
        'level': 'ERROR',
        'class': 'django.utils.log.AdminEmailHandler',
        'email_backend': 'django.core.mail.backends.filebased.EmailBackend',
    }
},