大红色的将军

Python-Django权限相关操作

from django.contrib.auth.models import User

#user对象使用.create创建的用户密码未进行加密,使用create_user创建的用户密码已加密
user = User.objects.create_user(username='admin1',password='123') 
user.save()
#用来判断用户是否存在
user = User.objects.get(username='admin1').is_authenticated 
#用来创建一个用户组
group = Group.objects.create(name="group1")
group.save()
#delete方法用来删除用户组
group = Group.objects.get(name="role1").delete()
#将用户给1加入到用户组group1中,为一对多的关系数据保存在auth_user_groups中
user = User.objects.get(username='admin1')
group = Group.objects.get(name='group1')
user.groups.add(group)
#将用户从用户组group中移除
user.groups.remove(group)
#用户退出所有的用户组
user.groups.clear()
#清空用户组
group.user_set.clear()
#检查用户是否具有操作的权限,有返回true没有返回false
user.has_perm('add_classfile')
#装饰器用来检查用户是否具有add_classifle权限,如有有责操作没有抛出异常
from django.contrib.auth.decorators import permission_required
@permission_required('add_classfile')
def fun1():
pass
向用户添加权限
'''
#添加权限
user.user_permissions.add(permission)
#删除权限: 
user.user_permissions.delete(permission)
#清空权限: 
user.user_permissions.clear()

'''
向用户组添加权限
'''
#添加权限: 
group.permissions.add(permission)
#删除权限: 
group.permissions.delete(permission)
#清空权限: 
group.permissions.clear()
'''

 

posted @ 2018-09-17 23:32  欧德派  阅读(188)  评论(0编辑  收藏  举报