django 权限管理
-
分组操作:
from django.contrib.auth.models import Group #创建用户组 Group.object.create(name=group_name)
-
用户分配到组(User + Group = user_group)
myuser.groups.set([group_list]) myuser.groups.add(group, group, ...) myuser.groups.remove(group, group, ...) myuser.groups.clear()
-
组分配权限( Group + Permission = group_permission)
#添加 Group.permission.set(Permission) #组添加权限 Group.permissions.add() #组删除权限 Group.permissions.remove() #组清除所有权限 Group.permissions.clear() #获取用户所属组的权限 Group.get_group_permissions()
-
用户分配(User + Perssion = user_user_permission)
myuser.user_permissions.set([permission_list]) myuser.user_permissions.add(permission, permission, ...) myuser.user_permissions.remove(permission, permission, ...) myuser.user_permissions.clear()
-
判断用户是否有权限
from django.contrib.auth.decorators import permission_required #判断user.permissions下有没有这个权限 user.has_perm('blog.add_article') # 返回Boole类型,有Tru,反之False @permission_required("polls.view_book", login_url='/login/', raise_exception=True) #如果拥有,那么就可以进入到指定的视图函数中, #如果不拥有,那么就会报一个403错误 #未登录跳转到login_url
-
查看用户所有权限
user.get_all_permissions()
-
创建用户
from django.contrib.auth.models import User User.objects.create_superuser(username,email,password)# 创建超级用户 User.objects.create_user(username,email,password) #创建普通用户
-
判断用户是否在某一个组
user.groups.all()
-
希望对大家有用