- auth系统有三个主表主要是,user Group Permission 分别是用户表 和群组表和权限表
从auth系统中导入表
from django.contrib.auth.models import User, Group, Permission # auth表
- 权限控制装饰器
from django.contrib.auth.decorators import permission_required # 权限控制的装饰器
from django.utils.decorators import method_decorator # 类视图装饰器
- 对视图函数index()上面写上权限控制的装饰如果用户如果对应的用户具有进入视图修改数据库的权限,如果没有权限则进入视图文件配置的路由
@permission_required('app01.add_PerModel')
def index(request):
user = request.POST.get('user') # 获取文章标题
per = PerModel(user=user)
pei.save() # 把数据保存在数据库中
return HttpReponse('有权限')
setting配置的权限路由
LOGIN_URL = '/form_session/login1/' # 用户未登录则跳转到该页面
- 为用户添加权限
def per_add(reqeust):
user = User.objects.filter(username='xiaowang').first()
per = Permission.objects.filter(codename='change_Permodel').first() # 获取用户要添加的权限
user.user_Permissions.add(per) # 为查询到的用户添加对应的权限再权限和用户表中添加
return HttpResponse('添加成功')
- 可以去数据库中查看对应的中间表有所添加