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