首页 > 学院 > 开发设计 > 正文

django实现自定义权限控制

2019-11-08 19:30:44
字体:
来源:转载
供稿:网友

自定义权限

django自定义权限使用permissions这个meta属性,例如:
#encoding = utf-8from django.db import models# Create your models here.# rights controlclass tofmodel(models.Model):    class Meta:        permissions = (            ("riskview_all", "Can see all the pages"),            ("riskview_dev", "Can see dev page"),            ("riskview_transfer", "Can see transfer page"),        )修改model后同步数据库数据python manage.py makemigrationspython manage.py migrate

权限修饰器

permission_required(perm, login_url=None, raise_exception=False) :检查用户是否具有特定的权限,可以自定义用户不具有要求权限是重定向到登陆页面,以及是否抛出异常等等
@login_required(login_url='/login/')@permission_required('tof.riskview_all',raise_exception=True)def index(request):    return render(request,'index.html')第一个修饰器可以让用户进行登录,登录后若用户未有权限,则抛出异常,进入一个403.html的页面,用户可以自定义这个页面并放置在templates文件夹下即可,若没有,则会出现系统默认403的报错文本Just like the has_perm() method, permission names take the form "<app label>.<permissioncodename>" (i.e. polls.can_vote for a permission on a model in the polls application).

权限授予

创建管理员帐号python manage.py createsuperuser登录django后台管理系统,在用户系统中,授予或者删除相应权限。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表