Django-restful-framework
2019-05-28 14:42:25 4 举报
AI智能生成
drf框架总览
作者其他创作
大纲/内容
解析器(parser)
内置解析器
BaseParser
JSONParser
能解析Content-Type:application/json头的数据
FormParser
能解析Content-Type:application/x-www-form-urlencoded头的数据
MultiPartParser
FileUploadParser
全局配置
序列化(serializer)
序列化数据
继承Serializer类
基本使用
source的使用
当遇到source字段时候,将source字段的数据依次split(".")并调用
自定义返回的字段
继承ModelSerializer类
基本使用
自定义返回的字段
depth的用法
Hyperlinked
请求数据校验
自定义数据校验
内置的校验函数
validate_字段名()
分页(pagination)
PageNumberPagination
基本使用
自定义分页处理
LimitOffsetPagination
使用
CursorPagination
使用
视图(view)
View
APIView
反射 请求方法
GenericAPIView
规范化视图操作
ViewSetMixin
重写as_view()方法,将指定请求方法指示到对应函数上
GenericViewSet
在路由上指定对应函数
ListModelMixin
列出所有数据
CreateModelMixin
添加数据
RetrieveModelMixin
获取一条数据
UpdateModelMixin
更新一条数据
DestroyModelMixin
删除一条数据
ModelViewSet
路由&渲染器
路由
第一种写法
第二种写法
第三种写法
渲染器
内置渲染器
JSONRenderer
BrowsableAPIRenderer
AdminRenderer
TemplateHTMLRenderer
HTMLFormRenderer
StaticHTMLRenderer
DocumentationRenderer
全局配置
restful规范
method
get、post、put、patch、delete
https协议
域名
版本号
路径
尽量使用名词
过滤条件
状态码
200、403、404、500、503...
返回集
认证(authtication)
基本使用
自定义认证类
返回结果
认证失败:{"detail":"认证失败"}
认证为空:(request.user,request.auth)为(anonymousUser,None)
认证成功:返回用户的信息
全局使用
在settings中配置
内置认证类
BaseAuthentication(继承)
SessionAuthentication
TokenAuthentication
RemoteUserAuthentication
权限(permission)
基本使用
自定义权限类
has_permission方法实现
全局使用
在settings中配置
内置权限类
BasePermission(继承)
DjangoModelPermissions
节流(throttle)
自定义实现节流
全局使用
内置节流类
BaseThrottle
实现allow_request方法
实现wait方法
SimpleRateThrottle
重写get_cache_key方法
设置参数scope
在setting中配置
AnonRateThrottle
UserRateThrottle
版本(version)
自定义版本控制(写到url中)
使用request.query_params.get("version")获取
内置类
BaseVersioning
AcceptHeaderVersioning
QueryParameterVersioning(继承)
url形式:GET /something/?version=0.1
views.py
settings.py
URLPathVersioning(继承)
url形式:GET /v1/something/
urls.py
views.py
全局配置-settings.py
NamespaceVersioning
AcceptHeaderVersioning
HostNameVersioning
版本控制的用法
0 条评论
下一页