利用装饰器装饰login_required ,实现判断User表中的是否是管理员的判断

在写图书管理系统的时候遇到需要将管理员页面和普通用户页面分离。普通用户无法访问管理员页面。于是想用装饰器。

def check_login(func):
    @login_required(login_url='/account/login/')   #装饰器嵌套
    def wrapper(request,*args,**kwargs):
        if not request.user.is_superuser:    #此为自定义的功能。
            raise Http404
        return func(request,*args,**kwargs)
    return wrapper

  

@check_login    #调用装饰器
@csrf_exempt
def article_books(request):
    if request.method=="GET":
        books = Book.objects.all()
        return render(request,'article/column/article_books.html',{'books':books})