Django異常處理的推薦方式Http404
阿新 • • 發佈:2020-07-12
一般我們在定義檢視的時候,會做各種資料校驗,並進行捕獲後以JsonResponse進行返回,在django中有一種推薦的方式是直接丟擲異常,該異常django會自動進行處理,並且程式不會因異常丟擲而中斷程式
一、引用方式
from django.http import Http404
二、使用方法
示例:
from django.http import JsonResponse, Http404 from django.views import View from django.db import connection from .models import Projects from .serializers importProjectsModelSerializer class ProjectsPage(View): ''' 類檢視 ''' def get_object(self, pk): try: obj = Projects.objects.get(id__exact=pk) except Exception as e: raise Http404("引數錯誤") return obj def get(self, request, pk=None):if pk: obj = self.get_object(pk) serializer_obj = ProjectsModelSerializer(instance=obj) return JsonResponse({'code': 0, 'res': "success", 'msg': serializer_obj.data}) else: qs = Projects.objects.all() serializer_obj = ProjectsModelSerializer(instance=qs, many=True)return JsonResponse({'code': 0, 'res': "success", 'msg': serializer_obj.data}, safe=False)
驗證結果:
丟擲異常後,我們可以發現django專案並沒有中斷程式