my Django应用程序中的在线登录用户出现问题

my Django应用程序中的在线登录用户出现问题,django,django-models,django-views,django-users,Django,Django Models,Django Views,Django Users,一如既往,我正在努力改进我的Django应用程序,我想创建一个Django模块,它可以显示所有登录的用户 这是我的模型类LoggedUser: class LoggedUser(models.Model): user = models.OneToOneField(User, primary_key=True) def __unicode__(self): return self.user.username def login_user(sender,

一如既往,我正在努力改进我的
Django应用程序
,我想创建一个Django模块,它可以
显示所有登录的用户

这是我的模型类
LoggedUser

class LoggedUser(models.Model):
    user = models.OneToOneField(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)
那么,我认为:

def ConnectedUsers(request) :

    logged_users=[user.user for user in LoggedUser.objects.all()]
    print logged_users

    context = {
        "logged_users":logged_users,
    }

    return render(request, "UtilisateursConnectes.html", context)
打印查询
返回:
[]

还有一个非常简单的模板,用于显示已登录的用户:

{% block content %}

List of logged users :

    {% for users in logged_users %} 
        <li>{{ users }}</li>
    {% endfor %}

{% endblock %}
{%block content%}
已登录用户列表:
{对于登录的用户,{u users%}
  • {{users}}
  • {%endfor%} {%endblock%}

    问题是:当我尝试在我的软件上连接不同的帐户时,表
    LoggedUser
    仍然是空的。我的脚本是否出错?

    可能您的连接没有连接到Django信号

    from django.contrib.auth.signals import user_logged_in, user_logged_out  
    
    class LoggedUser(models.Model):
        user = models.OneToOneField(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)
    

    为什么您的信号连接在模型内部definition@iklinac它应该在我的视图函数中设置?这充其量只是猜测,但要去掉它们前面的缩进:)这样它们就在类之外,但如果它们在类之外,
    将不定义登录的用户
    ?功能也应在模型之外我必须导入Django信号吗?因为未定义登录的用户。