为了账号安全,请及时绑定邮箱和手机立即绑定

404错误的Django Rest Framework自定义消息

404错误的Django Rest Framework自定义消息

至尊宝的传说 2021-05-11 10:09:31
我有一个基于类的通用视图:class ProjectDetails(mixins.RetrieveModelMixin,                     mixins.UpdateModelMixin,                     generics.GenericAPIView):    queryset = Project.objects.all()    # Rest of definition在我的urls.py,我有:urlpatterns = [    url(r'^(?P<pk>[0-9]+)/$', views.ProjectDetails.as_view())]使用不存在的ID调用API时,它将返回HTTP 404包含以下内容的响应:{    "detail": "Not found."}是否可以修改此响应?我只需要为此视图自定义错误消息。
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

通过覆盖诸如的特定方法是可能的update,retrieve例如:


from django.http import Http404

from rest_framework.response import Response



class ProjectDetails(mixins.RetrieveModelMixin,

                     mixins.UpdateModelMixin,

                     generics.GenericAPIView):

    queryset = Project.objects.all()


    def retrieve(self, request, *args, **kwargs):

        try:

            return super().retrieve(request, *args, **kwargs)

        except Http404:

            return Response(data={"cusom": "message"})


    def update(self, request, *args, **kwargs):

        try:

            return super().update(request, *args, **kwargs)

        except Http404:

            return Response(data={"cusom": "message"})


查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号