只允许超级用户登录 [英] allowing only super user login

查看:174
本文介绍了只允许超级用户登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经写了一个只需要超级用户登录的django页面。所以我添加了

  foo_view = staff_member_required(foo_view)

但它不剪切,现在我可以控制只允许标记用户的工作人员登录,但这不会被剪切。我已经尝试过像

  def foo_view(request):
if not request.user.is_superuser:
#render一些不允许的页面
#else呈现页面

但它没有

解决方案

尝试:

  from django.contrib.auth.decorators import user_passes_test 

def foo_view(request):
#...
foo_view = user_passes_test (lambda u:u.is_superuser)(foo_view)

或者(Python> = 2.4) / p>

  from django.contrib.auth.decorators import user_passes_test 

@user_passes_test(lambda u:u.is_superuser )
def foo_view(request):
#...


I have written a django page that requires only super users to login. So I have added

foo_view = staff_member_required(foo_view)

but it doesn't cut, now I can control only allowing staff marked users to login but this doesn't cut. I have tried something like

def foo_view(request):
       if not request.user.is_superuser:
           #render some "not allowed page"
       #else render the page

but it doesn't seem to help as giving me errors.

解决方案

Try:

from django.contrib.auth.decorators import user_passes_test

def foo_view(request):
    # ...
foo_view = user_passes_test(lambda u: u.is_superuser)(foo_view)

Or (with Python >= 2.4):

from django.contrib.auth.decorators import user_passes_test

@user_passes_test(lambda u: u.is_superuser)
def foo_view(request):
    # ...

这篇关于只允许超级用户登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆