Django Channels self.scope['user'] показывает пустой вывод

Я пытаюсь получить self.scope['users'] на потребителях, но вывод всегда пустой, однако когда я пытаюсь получить self.scope['users'].id, он дает правильный вывод, т.е. идентификатор пользователя. Я аутентифицирую и регистрирую пользователя и перенаправляю на страницу, если пользователь аутентифицирован.

views.py

if request.method == 'POST':
   username = request.POST.get('username')
   password = request.POST.get('password')

   user = authenticate(username=username, password=password)

   if user is not None:
      if user.is_active:
         login(request, user)
         return redirect('create_room')
      else:
         return redirect('register')

  if request.user.is_authenticated:
     return redirect('chat')
        
return render(request, 'users/login.html')

consumers.py

 async def receive_json(self, text_data):
        message = text_data['message']
        print(self.scope['user']) # <-- this gives a blank output
        print(self.scope['user'].id) # <-- this gives proper user id


        await self.channel_layer.group_send(
              self.room_name,
              {
                  'type': 'send.message', 
                  'room': self.room_name,
                  'message': message,
                  'user': self.scope['user'].id
              });

routing.py

websocket_patterns = [
    re_path(r'chat/(?P<room_name>\w+)/$', MessageConsumer.as_asgi())
]

Печать self.scope показывает, что параметр 'user' присутствует и содержит 'user': <channels.auth.UserLazyObject object at 0x00000222A571A260>

Вернуться на верх