在写图书管理系统的时候遇到需要将管理员页面和普通用户页面分离。普通用户无法访问管理员页面。于是想用装饰器。
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})