django - 更改 HTTP 响应消息 Django
问题描述
我正在使用 http 响应来处理我网站中的异常。我想在创建和更新数据期间显示正确的消息/验证。但它显示 HTTP 响应,如 Bad Request 、内部服务器错误。这是我的代码:
from django import http
from rest_framework import viewsets
class SaleViewSet(viewsets.ModelViewSet):
def create(self, request, *args, **kwargs):
data = request.data
try:
// Some code
return http.JsonResponse(response)
except Exception as e:
logger.error(e)
return http.HttpResponseBadRequest(content=e)
在对话框消息中显示“错误请求”。我想显示自定义消息,而不是对话框消息中的“错误请求”。
我想要做 ,
except Exception as e:
logger.error(e)
return http.HttpResponseBadRequest(My message)
解决方案
您可以使用JsonResponse对象
创建自定义错误响应处理程序
from django.http import JsonResponse
def error_response(message, status, error=None):
response = dict()
response["error"] = error
response["detail"] = message
return JsonResponse(response, status=status)
在你看来
except Exception as e:
logger.error(e)
# call custom error_response handler
message = 'My message'
return error_response(message=message, error=e, status=status.HTTP_400_BAD_REQUEST)
推荐阅读
- reporting-services - Does anyone have working examples of configuration files for SSRS (SQL Server Reporting Services) for custom security plugins?
- flutter - 固定小部件在一行中的位置
- python - 如何通过从点拆分来从 s[0][i:j] 中剪切列表的子字符串?
- r - 如何在 Rmarkdown 中将 PNG 文件包含为编号表?
- firefox-addon - 损坏的 Firefox 附加组件
- azure - 如何使用 PowerShell 上传和删除 Azure Web 应用程序的文件
- next.js - NEXT JS 使用 Auth0 运行时错误,一秒钟后消失
- docusignapi - Webhook - 标头的用户名和密码以验证消息的真实性
- vue.js - 使用外部库中的日历时出错
- linux - 如何在 binwalk -e data 命令后打包 _data.extracted?