diff --git a/apps/utils/exceptions.py b/apps/utils/exceptions.py index d082673b..00960f64 100755 --- a/apps/utils/exceptions.py +++ b/apps/utils/exceptions.py @@ -8,6 +8,7 @@ from rest_framework.response import Response from rest_framework.views import set_rollback import json from apps.utils.tasks import send_mail_task +from django.conf import settings # 实例化myLogger @@ -35,7 +36,7 @@ def custom_exception_hander(exc, context): data = {'err_detail': exc.detail} if isinstance(exc.detail, dict): data['err_code'] = exc.default_code - data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False) # 取一部分方便前端alert + data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False) if 'detail' not in exc.detail else exc.detail['detail'] # 取一部分方便前端alert elif isinstance(exc.detail, list): data['err_code'] = exc.default_code data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False) @@ -52,4 +53,4 @@ def custom_exception_hander(exc, context): err_detail = f"{args[0]}-{args[1]}" myLogger.error(err_detail) send_mail_task.delay(message=err_detail) # 500邮件通知到开发人员 - return Response(data={'err_code': 'server_error', 'err_detail': None, 'err_msg': '服务器错误'}, status=500) + return Response(data={'err_code': 'server_error', 'err_detail': err_detail if settings.DEBUG else None, 'err_msg': '服务器错误'}, status=500)