码迷,mamicode.com
首页 > 其他好文 > 详细

rest_framework-权限-总结完结篇

时间:2018-07-29 13:10:39      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:efault   als   使用   信息   总结   流程   default   def   mission   

#权限
#创建一个权限类 在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 #有权访问

rest_framework-权限-总结完结篇

标签:efault   als   使用   信息   总结   流程   default   def   mission   

原文地址:https://www.cnblogs.com/Liang-jc/p/9384701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!