渲染返回
我们发送GET,POST等请求返回的原始是JSON数据是很丑的,只不过DRF框架自动给我们做了一些渲染。
![](https://img.haomeiwen.com/i8491383/aebc64edbfbf9192.png)
DRF内置渲染器
- BrowsableAPIRenderer
BrowsableAPIRenderer这个必须和JSONRenderer一起用,可能是因为它本身有渲染功能,没有数据吧
from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer
class TestView(APIView):
renderer_classes = [JSONRenderer,BrowsableAPIRenderer]
def get(self, request, *args, **kwargs):
# 获取所有数据
roles = models.Role.objects.all()
# 创建分页对象
# pg = MyPageNumberPagination() #自定义分页
pg = MyPageNumberPagination()
# 在数据库中获取分页的数据
pager_roles = pg.paginate_queryset(queryset=roles, request=request, view=self)
# 对数据进行序列化
ser = PagerSerializers(instance=pager_roles, many=True)
return Response(ser.data)
![](https://img.haomeiwen.com/i8491383/e1fe9dbe29684e2e.png)
- AdminRenderer
from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer, AdminRenderer
class TestView(APIView):
renderer_classes = [AdminRenderer]
*****************和上面的一样*******************
![](https://img.haomeiwen.com/i8491383/fcec0eed88f0fb7b.png)
全局使用
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer'],
}
网友评论