Fork me on GitHub

Django:RestFramework之-------渲染器

12.渲染器

from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer,AdminRenderer

class TestView(APIView):
    #BrowsableAPIRenderer页面渲染更加好看
    #JSONRenderer 返回json数据
    renderer_classes = [JSONRenderer,BrowsableAPIRenderer]
    def get(self,request,*args,**kwargs):
        # 获取所有数据
        roles = models.Role.objects.all()
        # 创建分页对象
        pg = MyPageNumberPagination3()
        # 在数据库中获取分页的数据
        pager_roles = pg.paginate_queryset(queryset=roles, request=request, view=self)
        # 对数据进行序列化
        ser = PagerSerialiser(instance=pager_roles, many=True)
        return Response(ser.data)
  • 页面返回经过渲染BrowsableAPIRenderer 和 JSONRenderer进行json

  • 当设置renderer_classes = AdminRenderer

  • 也可以url上:http://127.0.0.1:8000/api/v1/test/?format=admin

  • 不过一般在settings配置,全局配置:

    REST_FRAMEWORK = {
        "DEFAULT_RENDERER_CLASSES":[
            #渲染模板
            "rest_framework.renderers.BrowsableAPIRenderer",
            #json数据
            "rest_framework.renderers.JSONRenderer"
        ]
    }
    
  • 显示效果

posted @ 2019-11-13 17:27  是阿凯啊  阅读(287)  评论(0编辑  收藏  举报