认证的基本使用
局部配置
自定义认证类
在视图通过authentication_classes设置认证类
authentication_classes = [MyOrderAuthentication,]
如果 authentication_classes 设置为空列表,就不再进行认证了 authentication_classes = []
全局配置 :在settings配置文件中设置全局默认的认证
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES'['unitls.authentication.MyOrderAuthentication'],
}
权限的基本使用
局部配置
自定义权限类 类,必须继承:BasePermission,必须实现:has_permission方法
在视图中通过permission_classes属性来设置
permission_classes = [MyOrderPermission,]
如果authentication_classes设置为空列表,就不再进行权限认证了 permission_classes = []
全局配置 :在settings配置文件中设置全局默认的权限
REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES':['unitls.permission.MyOrderPermission'],
}
节流的基本使用
局部配置
自定义节流类
在视图中通过throttle_classes属性来设置
throttle_classes = [VisitThrottle,]
全局配置 :在settings配置文件中设置全局默认的节流
REST_FRAMEWORK = {'DEFAULT_THROTTLE_CLASSES':['unitls.throttle.VisitThrottle'],
}
使用内置限制类
from rest_framework.throttling import SimpleRateThrottle
推荐使用这种
class VisitThrottle(SimpleRateThrottle):
没有登录用户,每分钟访问10次
scope = 'logined'
def get_cache_key(self, request, view):
return request.user.username
版本的基本使用
局部配置
自定义版本控制类 ParmasVersion
在视图中通过versioning_class属性来设置
versioning_class = ParmasVersion
全局配置 :在settings配置文件中设置全局默认的版本
REST_FRAMEWORK = 'DEFAULT_VERSIONING_CLASS':'unitls.version.ParmasVersion',
解析器的基本使用
局部配置在视图函数中配置parser_classes=[JSONParser,]
全局配置在settings文件中设定
REST_FRAMEWORK={'DEFAULT_PARSER_CLASSES':['rest_framework.parsers.JSONParser'],
}