我如何在django中检查一个用户是否是超级用户

2hh7jdfx  于 2023-05-19  发布在  Go
关注(0)|答案(2)|浏览(160)

我在ListView页面上列出注册用户,我试图显示用户是否是超级用户。
我的主用户是用“manage.py createsuperuser”命令创建的,我确信它是一个超级用户,因为我也从管理面板检查过。
当我尝试打印它是否是超级用户时,我的代码总是显示“False”输出。以下是我的代码:
views.py

@method_decorator(staff_member_required, name='dispatch')
class Uyeler(ListView):

    model = User
    paginate_by = 40
    ordering = ['-pk']
    template_name = "panel/uyeler.html"

在模板文件中:

{% for obj in object_list %} 

                      
                    {% if obj.is_superuser %}SuperUser {% else %} Not SuperUser {{ obj.is_superuser }} {%endif%}

{% endfor %

我的html输出是“Not SuperUser False”,包括我的超级用户帐户在内的所有用户。有什么想法吗

ar7v8xwq

ar7v8xwq1#

这是我的views.py,用于显示当前用户帐户

@login_required
def account(request):
    if request.user.is_superuser: # just using request.user attributes
        accounts = get_user_model().objects.all()```
6jygbczu

6jygbczu2#

我尝试在我的代码和它的工作也许有问题在您的数据这是如何我的代码看起来像

views.py

def user_detail(request):
  user_detail = CustomUser.objects.filter(id=id)
  return(request,'user_datail.html',{'user_detail':user_detail})

user_datail.html

{% for i in user_detail %}
  {% if i.is_superuser %}
     <td class="text-center"><span class="btn btn-success">You</span> 
     </td>
  {% else %}
    <td class="text-center"><span class="btn btn-info">Agent</span> 
    </td>
  {% endif %}
{% endfor %}

输出

相关问题