[英]User account delete in django's rest
I want create view which can deactivation user's account.我想创建可以停用用户帐户的视图。 when i create view and send delete request i have error - > "detail": "You do not have permission to perform this action."当我创建视图并发送删除请求时出现错误 - > “详细信息”:“您无权执行此操作。” . . i have authenticated permissionn but i am login in my account.我已经验证了权限,但我正在登录我的帐户。 i also use APIview我也使用 APIview
this is code ->这是代码->
class DeleteAccount(generics.RetrieveUpdateDestroyAPIView):
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated]
def delete(self, request, *args, **kwargs):
user=self.request.user
user.delete()
return Response({"result":"user delete"})
Since you seem to be using a purely view-based approach, APIView might do the trick instead of the generic class.由于您似乎使用的是纯粹基于视图的方法,因此 APIView 可能会代替通用的 class 来解决问题。 Additionally, setting the serializer class isn't necessary as well.此外,也不需要设置串行器 class。
from rest_framework.views import APIView
class DeleteAccount(APIView):
permission_classes = [permissions.IsAuthenticated]
def delete(self, request, *args, **kwargs):
user=self.request.user
user.delete()
return Response({"result":"user delete"})
Additionally as a general practice, it's better/safer to reserve user deletion capabilities only for admin/staff users.此外,作为一般做法,仅为管理员/员工用户保留用户删除功能会更好/更安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.