zoukankan      html  css  js  c++  java
  • rest_framework-权限-总结完结篇

    #权限
    #创建一个权限类 在view添加列表

    class MyPermission(object):
    #message 表示权限决绝时返回的数据
    message = "必须是SVIP"
    def has_permission(self, request, view):
    if request.user.user_type != 3:
    return False
    return True #有权访问

    permission_classes = [MyPermission,]
    #局部使用
    在utils里创建permission.py 文件
    from api.utils.permission import Mypermission

    #全局使用
    REST_FRAMEWORK = {
    "DEFAULT_PERMISSION_CLASSES":['api.utils.auth.SVIPPermission']
    }

    源码流程
    -has_permission(self,request, view)

    内置代码
    from rest_framework.permissions import BasePermission
    #必须继承BasePermission 必须实现 has_permission 方法
    返回值:
    True 有权访问
    False 无权访问
    一般不抛出异常 直接通过 message可以实现无权时,页面显示信息

    BasePermission(object):
    def has_permission(self, request, view):
    return True

    def has_object_perssion(self, request, view, obj):
    return True

    class SVIPPermission(BasePermission):
    #message 表示权限决绝时返回的数据
    message = "必须是SVIP"
    def has_permission(self, request, view):
    if request.user.user_type != 3:
    return False
    return True #有权访问
  • 相关阅读:
    Json -- 语法和示例,javascript 解析Json
    平衡二叉树的实现原理
    递归:汉诺塔
    递归:这帮坑爹的小兔崽子
    函数:递归是神马
    函数:lambda表达式
    函数:内嵌函数和闭包
    函数:我的地盘听我的
    函数:灵活即强大
    函数:Python的乐高积木
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9384701.html
Copyright © 2011-2022 走看看