How to get the list of the authenticated users?

前端 未结 4 743
温柔的废话
温柔的废话 2020-11-29 17:14

I would like to display the list of the authenticated users.

On the documentation: http://docs.djangoproject.com/en/dev/topics/auth/

class mo

4条回答
  •  Happy的楠姐
    2020-11-29 18:09

    Most reliable solution would only be the something you store when user logs in or logs out. I saw this solution and i think its worth sharing.

    models.py

    class LoggedUser(models.Model):
        user = models.ForeignKey(User, primary_key=True)
    
        def __unicode__(self):
            return self.user.username
    
        def login_user(sender, request, user, **kwargs):
            LoggedUser(user=user).save()
    
        def logout_user(sender, request, user, **kwargs):
            try:
                u = LoggedUser.objects.get(user=user)
                u.delete()
            except LoggedUser.DoesNotExist:
                pass
    
        user_logged_in.connect(login_user)
        user_logged_out.connect(logout_user)
    

    views.py

    logged_users = LoggedUser.objects.all().order_by('username')
    

提交回复
热议问题