Django - 在 ListView Django 中显示来自 auth.models 的所有用户列表

Django - display list of all users from auth.models in ListView Django

您好,我正在一个酒店网站上工作,我正在尝试将所有用户的列表从管理站点显示到我的列表视图中的仪表板上

class UsersListView(ListView):
template_name = 'dashboard/users/userlist.html'
login_url = '/login/'
redirect_field_name = 'user_list'


def get_queryset(self):
    return User.objects.filter(
        username=self.request.user
    )

以上代码只显示登录用户,不是所有列表。有没有办法显示用户的活跃和不活跃状态?

<thead>
                <tr>
                  <th>SN</th>
                  <th>Users</th>
                  <th>Email</th>
                  <th>Status</th>
                </tr>
              </thead>
              <tbody>
                {% for user in object_list %}
                <tr>
                  <td>{{forloop.counter}}</td>
                  <td>{{user.username }}</td>
                  <td>{{user.email}}</td>
                  <td>{{user.is_active}}</td>

此处过滤 User QuerySet 以仅向您显示正在向服务器发出请求的用户。

def get_queryset(self):
    return User.objects.filter(id=self.request.user.id)

获取所有用户就像使用 .all() 函数一样简单:

def get_queryset(self):
    return User.objects.all()

您应该查看 Django QuerySet API reference 以了解如何使用 QuerySet 对象。