在我的 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 上给出错误。为什么会这样?