标签:import 上下文环境 print instance django 问题 注意 and 判断
在Django和DRF框架中都封装了很多的处理异常的程序,可以处理框架内的异常问题。但是不是框架内的问题,这些处理异常的程序无法解决,例如数据库的问题等,这些就需要开发人员自定义异常来处理异常。
在项目中创建单独的目录utils来存放处理异常的程序的文件
开发者自己开发和封装的工具、函数、方法、类等程序文件均放在这个目录下。
导入需要用到的包
‘‘‘python
from rest_framework.views import exception_handler
from rest_framework.views import Response
from rest_framework import status
‘‘‘
‘‘‘python
class custom_exception_handler(exc, context):
# exc:指的是发生异常的程序和类
# context:发生异常的程序所处的上下文环境
response = exception_hansler(exc, context)
# 通过这个代码来获取框架内程序的异常结果
if response is None:
# 如果异常结果为空,则执行自定义异常程序
if isinstance(exc, ZeroDivisionError):
# isinstance(A, B)用于判断A是否属于B的实例或者子类的实例
print("除数不能为0")
return Response("服务器内部出现错误", status=status.HTTP_500_INTERNAL_SERVER_ERROR)
‘‘‘
写好的文件需要在settings.py中进行设置
‘‘‘python
REST_FRAMEWORK = [
'EXCEPTION_HANDLER':'utils.exceptions.custom_exception_handler',
# 把自定义的异常处理函数添加到REST_FRAMEWORK中,value是查找路径+函数名称
]
‘‘‘
标签:import 上下文环境 print instance django 问题 注意 and 判断
原文地址:https://www.cnblogs.com/ddzc/p/12114526.html