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()
    '''
  • 相关阅读:
    1592:【例 1】国王
    状态压缩类动态规划笔记
    1300:鸡蛋的硬度
    1263:【例9.7】友好城市
    第四部分-并发编程案例分析4:高性能数据库连接池HikariCP
    容器基础3:容器镜像
    第四部分-并发编程案例分析3:高性能队列Disruptor
    容器基础2:隔离与限制
    第四部分-并发编程案例分析1:限流Guava RateLimiter
    容器基础1:进程
  • 原文地址:https://www.cnblogs.com/oldpai/p/9665668.html
Copyright © 2011-2022 走看看