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 #有权访问
  • 相关阅读:
    P4890 Never·island
    P2617 Dynamic Rankings
    P3243 [HNOI2015]菜肴制作
    P4172 [WC2006]水管局长
    P4219 [BJOI2014]大融合
    P5241 序列
    P1501 [国家集训队]Tree II
    无法读取用户配置文件,系统自动建立Temp临时用户
    组件服务 控制台打不开
    打印服务器 功能地址保护错误
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9384701.html
Copyright © 2011-2022 走看看