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 #有权访问
  • 相关阅读:
    python3+request接口自动化框架
    类型转换函数
    操作符重载(三)
    操作符重载(二)
    操作符重载(一)
    时间获取函数
    文件和目录
    Linux五种IO模型
    类中的函数重载
    系统调用IO和标准IO
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9384701.html
Copyright © 2011-2022 走看看