Django显示所有用户

时间:2018-09-13 13:26:53

标签: python html django

我想在模板中显示所有用户,但不能。我认为我的代码有误,但我找不到。这是代码。

views.py

class UsersView(TemplateView):
    template_name = 'users.html'

    def get_context_data(self, **kwargs):
        context = super(UsersView, self).get_context_data(**kwargs)
        context['object_list'] = UserList.objects.all()
        return context

models.py

class UserList(AbstractBaseUser):
    first_name = models.CharField(max_length=200, blank=True, help_text="The first name of the user.")
    last_name = models.CharField(max_length=200, blank=True, help_text="The last name of the user.")
    email = models.EmailField(
        verbose_name='email address',
        max_length=255,
        unique=True,
        help_text="The email and username of the user. Required."
    )

users.html

    {% extends 'blog/base.html' %}

{% block content %}

<h1>Users:</h1>

    <ul>

        {% for users in object_list %}
            <li class="user">{{ user }}</li>
        {% endfor %}

    </ul>

{% endblock %}

这是我得到的页面:

我的错误在哪里?谢谢。

2 个答案:

答案 0 :(得分:1)

您的代码包括以下内容:

awk 'BEGIN{RS=OFS="";FS="\n"}{$1=$1; print (NR>1?",":"")$0}' file

此问题是未定义 {% for users in object_list %} <li class="user">{{ user }}</li> {% endfor %} 模板变量。在循环标题中将user更改为users,您应该就可以了。

答案 1 :(得分:0)

您可以在视图中将django.contrib.auth.models.Userrequest.user.get_username()一起使用,并且您可以在Django中使用标准用户。如果转到go管理员URL,则会看到用户默认设置。

用于模板调用:

{{ user.get_username }}