python - 在 django's rest 中删除用户帐户
问题描述
我想创建可以停用用户帐户的视图。当我创建视图并发送删除请求时出现错误 - > “详细信息”:“您无权执行此操作。” . 我已经验证了权限,但我正在登录我的帐户。我也使用 APIview
这是代码->
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"})
解决方案
由于您似乎使用的是纯粹基于视图的方法,因此 APIView 可能会代替泛型类来解决问题。此外,也不需要设置序列化程序类。
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"})
此外,作为一般做法,仅为管理员/员工用户保留用户删除功能会更好/更安全。
推荐阅读
- javascript - Discord.js - 正确使用:for (const guild of client.guilds.cache)?
- javascript - 拒绝执行脚本并启用严格的 MIME 类型检查
- .net - dotnet 核心中的 DefaultModelBinder 替代品
- regex - 如何为 AWS 资源制作正则表达式
- ios - Flutter iOS Firebase Analytics 和 Crashlytics 未显示
- c - 如何在 CUnit 的帮助下测试自定义错误消息?
- javascript - 通过数据ID引用使javascript更改选择选项
- excel - Having problems copying an Excel range to a Word file using VBA
- javascript - 读取服务器上的表单数据
- firebase - 无法从 createUserWithEmailAndPassword 的 firebase 响应访问 stsTokenManager