渲染返回
我们发送GET,POST等请求返回的原始是JSON数据是很丑的,只不过DRF框架自动给我们做了一些渲染。
![8491383-aebc64edbfbf9192.png](https://i-blog.csdnimg.cn/blog_migrate/10e11bf7b3780252b93a15d5ee07edb8.webp?x-image-process=image/format,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)
![8491383-e1fe9dbe29684e2e.png](https://i-blog.csdnimg.cn/blog_migrate/95470c11f8ffb45f9b9761abf5b2fee6.webp?x-image-process=image/format,png)
BrowsableAPIRenderer
- AdminRenderer
from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer, AdminRenderer
class TestView(APIView):
renderer_classes = [AdminRenderer]
*****************和上面的一样*******************
![8491383-fcec0eed88f0fb7b.png](https://i-blog.csdnimg.cn/blog_migrate/73fd8d6495f7e6f93207d8b174ed471c.webp?x-image-process=image/format,png)
AdminRenderer
全局使用
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer'],
}