0

在我的 Django RestApi 项目中,我想应用异常错误。我为我的所有异常文件创建了一个单独的文件(common.py),该文件位于我们的 manage.py 文件所在的项目之外。这是在我的文件中:

HTTP_STRING = {
'get': 'get',
'post': 'post',
'put': 'put',
'patch': 'patch',
'delete': 'delete',

}

我也在settings.py中设置它:

  REST_FRAMEWORK = {
        'EXCEPTION_HANDLER': 'rest_framework.views.exception_handler',

现在在我看来,我创建了一个模型视图集。在模型视图集中,我们获得了所有内置函数来执行(放置、修补、删除、创建、更新)之类的操作,但在这个视图中,我不需要放置、修补和删除。所以我想阻止这个并想给它例外我试过这个:

from rest_framework import viewsets
from common_strings import HTTP_STRING
class DemoModelViewSet(viewsets.ModelViewSet):
      queryset = DemoModel.objects.all()
      serializer_class = DemoModelSerializer
      def update(self, request, pk=None):
          raise MethodNotAllowed(method=HTTP_STRING['put'])

      def partial_update(self, request, pk=None):
          raise MethodNotAllowed(method=HTTP_STRING['patch'])

      def destroy(self, request, pk=None):
          raise MethodNotAllowed(method=HTTP_STRING['delete'])

但是没有定义在 MethodNotAllowed 上给出错误。为什么会这样?

4

0 回答 0