from rest_framework.views import APIView from rest_framework import permissions, status from rest_framework.response import Response from django.contrib.auth import logout from django.http import HttpRequest from rest_framework.authentication import SessionAuthentication class DeleteView(APIView): permission_classes = (permissions.IsAuthenticated,) authentication_classes = (SessionAuthentication,) def delete(self, request: HttpRequest): data: dict = request.data password: str = data["password"] if (password is None): return Response({"password": ["This field may not be blank."]}) if (request.user.check_password(password) == False): return Response({"password": ["Password wrong."]}) request.user.delete() logout(request) return Response("user deleted", status=status.HTTP_200_OK)