rest_framework-权限-总结完结篇
Posted liang-jc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 #有权访问
以上是关于rest_framework-权限-总结完结篇的主要内容,如果未能解决你的问题,请参考以下文章
简单演示django使用之五--(django概用完结总结篇)