zoukankan      html  css  js  c++  java
  • 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()
    '''
  • 相关阅读:
    多线程 分配
    fopen:文本和二进制方式打开方式对比【转】
    C优先级列表【转】
    sscanf用法
    heap和stack【转】
    大端小端【转】
    二级指针与二维数组的秘密【二者不等】
    C++中的空类编译器默认隐式声明哪些成员函数【CSDN】
    项目内存泄漏问题及解决方案后续
    浅谈部门前台框架中的几个方法<一>
  • 原文地址:https://www.cnblogs.com/oldpai/p/9665668.html
Copyright © 2011-2022 走看看