32Django定义一个中间件将程序异常发送到指定邮箱
2021/12/9 14:16:41
本文主要是介绍32Django定义一个中间件将程序异常发送到指定邮箱,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
用中间件实现抓取视图函数的异常,并以邮件的形式将异常信息发送给指定联系人
1在setting.py里配置qq邮箱:
#qq邮件相关配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #发送邮件引擎 EMAIL_HOST = 'smtp.qq.com' #腾旭qq有限smtp服务器地址 EMAIL_PORT = 25 #smtp服务端口号 EMAIL_HOST_USER = '66907360@qq.com' #发邮件的qq邮箱 EMAIL_HOST_PASSWORD = 'abzhdj1234567890' #qq设置-账户-授权码 #EMAIL_USE_TLS = False #与smtp服务器通信时,是否启动TLS链接(安全链接),默认False EX_MAIL = ['zhangsan@qq.com'] #接收邮件的邮箱
2创建中间件
在项目目录下创建一个python包:middleware,并在python包middleware中创建一个python文件mymiddleware.py(右键djangoProject2 -- New -- python Package):
djangoProject2 middleware __init__.py mymiddleware.py djangoProject2 __init__.py asgi.py settings.py urls.py views.py wsgi.py manage.py
3在mymiddleware.py内编写中间件:
from django.utils.deprecation import MiddlewareMixin class ExceptionMW(MiddlewareMixin): pass
4注册中间件
MIDDLEWARE = [ 'middleware.mymiddleware.ExceptionMW', ]
5完善中间件视图逻辑:
from django.http import HttpResponse from django.utils.deprecation import MiddlewareMixin import traceback from django.conf import settings from django.core import mail class ExceptionMW(MiddlewareMixin): def process_exception(self,request,exception): print(exception) print(traceback.format_exc()) #此方法异常信息更详细 mail.send_mail( subject='djangoProjecrs2报错啦', message=traceback.format_exc(), from_email='66907360@qq.com', recipient_list=settings.EX_MAIL ) return HttpResponse('--当前页面存在异常--')
这篇关于32Django定义一个中间件将程序异常发送到指定邮箱的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用
- 2024-10-24AI ?先驱齐聚 BAAI 2024,发布大规模语言、多模态、具身、生物计算以及 FlagOpen 2.0 等 AI 模型创新成果。
- 2024-10-20goland工具下,如修改一个项目的标准库SDK的版本-icode9专业技术文章分享
- 2024-10-17Go学习:初学者的简单教程
- 2024-10-17Go学习:新手入门完全指南