(一)django分页器
1,配置settingsREST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE':3,
}
(二)django过滤器
'DEFAULT_FILTER_BACKENDS':(
'django_filters.rest_framework.DjangoFilterBackend',
在api中设置字段加入过滤器
导入模块
from django_filters.rest_framework import DjangoFilterBackend
可以在url中关键字查询
(一)django自定义接口
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190811194534669.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTIzMDc4Nw==,size_16,color_FFFFFF,t_70)from rest_framework.renderers import JSONRenderer #导入json模块
class JieKou(JSONRenderer):
def render(self,data,accepted_media_type=None, renderer_context=None):
"""
:param data: 返回的数据
:param accepted_media_type: 接收的类型
:param renderer_context: 呈现的内容
:return:
"""
if renderer_context:
if isinstance(data,dict):
msg = data.pop("msg","请求成功")
code = data.pop("code",0)
else:
msg = "请求成功"
code = 0
ret = {
"msg":msg,
"code":code,
"data":data,
"su":"很帅"
}
return super().render(ret,accepted_media_type,renderer_context)#返回自定义过滤器
return super().render(data,accepted_media_type,renderer_context)#返回原来的过滤器
配置settings
'DEFAULT_RENDERER_CLASSES':(
'utils.jiekou.JieKou',
),