我正在使用 Django、Django REST 框架、Django-rest-auth 和 Django-allauth 编写服务器应用程序。我有一个用于在用户之间传递消息的方法,这应该只在接收者登录时发生。
然而,似乎用户对象的is_authenticated()
方法返回 True 即使用户已经注销(调用rest-auth/logout/
,这又应该调用 Django 的注销)。什么可能导致这种情况?我在这里错过了什么吗?
这是我的代码:
class SendMessage(generics.CreateAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = MessageSerializer
def perform_create(self, serializer):
m = self.request.data['msg']
targetUser = User.objects.get(pk = self.request.data['user'])
if targetUser.is_authenticated():
# Send message
else:
# Don't send message