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
Django-restful-framework
restful规范
method
get、post、put、patch、delete
https协议
域名
版本号
路径
尽量使用名词
过滤条件
状态码
200、403、404、500、503...
返回集
认证(authtication)
自定义认证类
返回结果
认证失败:{"detail":"认证失败"}
认证成功:返回用户的信息
全局使用
在settings中配置
内置认证类
BaseAuthentication(继承)
SessionAuthentication
TokenAuthentication
RemoteUserAuthentication
权限(permission)
自定义权限类
has_permission方法实现
内置权限类
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
全局配置-settings.py
NamespaceVersioning
HostNameVersioning
版本控制的用法
0 条评论
回复 删除
下一页