django中auth系统

  • 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('添加成功')
  • 可以去数据库中查看对应的中间表有所添加

猜你喜欢

转载自blog.csdn.net/qq_53075298/article/details/120595881
今日推荐