11-权限-权限验证装饰器

  1. 权限限定装饰器:

权限限定装饰器:

使用django.contrib.auth.decorators.permission_required可以非常方便的检查用户是否拥有这个权限,如果拥有,那么就可以进入到指定的视图函数中,如果不拥有,那么就会报一个400错误。示例代码如下:

1
2
3
4
5
from django.contrib.auth.decorators import permission_required

@permission_required('front.view_article')
def my_view(request):
...

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from django.contrib.auth.decorators import permission_required
#这个装饰器做两件事情
#首先是判断你有没有登录,如果没有登录他就给你跳转到登录页面
#如果登录了再次判断你有没有这个权限,如果没有这个权限将给你跳转到登录页面
#如果 raice_exception = True 就会给你跳转到403的页面,可对这个页面进行编辑
@permission_required('url_app.add_article',login_url='/login/',raise_exception=True)
def add_article(request):
# if request.user.is_authenticated:
# print('已经登录了!')
# if request.user.has_perm('url_app.add_article'):
# return HttpResponse('这是添加文章的页面!')
# else:
# return HttpResponse('你没有访问这个文章的权限!!')
# else:
# return HttpResponse('很抱歉你没有登录!!')

return HttpResponse('这是添加文章的界面!!')

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com
目录
主站