zoukankan      html  css  js  c++  java
  • 95 分页器 解析器 渲染器

    主要内容:

    1  分页器:   项目在第day91 天的文件夹里:https://www.cnblogs.com/GGGG-XXXX/articles/9867882.html

      a : 分页 DRF提供三种分页方式

        -- ///////?page=1&size=5
        -- ///////?limit=2&offset=3  每页显示两条数据, 从第几个开始
        -- ///////?加密的游标 只有上一页下一下 . 游标只有上一页下一页, 游标的值是加密的, 不暴露数据库的信息

      b : 分页器的使用:

        1 自定义一个分页器类, 配置必要的信息:

    from rest_framework import pagination
    class Mypagination(pagination.PageNumberPagination):
        # 每页显示两条数据
        page_size = 2
        # 表示第几页
        page_query_param = "page"
        page_size_query_param = "size"
        # 每一页显示的最大条数
        max_page_size = 3
    

        2 在视图中的使用;

    class pageBookView(APIView):
        def get(self, request):
            all_book = Book.objects.all()
            # 先实例化分页器对象
             page_obj = LimitOffsetPaginator()
            # 用自己的分页器调用分页方法,进行分页
            page_data = page_obj.paginate_queryset(all_book, request)
            # 获取分页好的数据
            ser_obj = BookSerializer(page_data, many=True)
            # return Response(ser_obj.data)
            # 给响应添加上一页下一页的连接
            return page_obj.get_paginated_response(ser_obj.data)
    

    2 解析器:https://www.cnblogs.com/GGGG-XXXX/articles/9893090.html

      -- Content-Type 我给你的是什么数据类型
        -- application/x-www-form-urlencoded 表单数据
        -- multipart/form-data 文件的
        -- application/json
          -- request.body
      -- Accept 我能解析的是什么数据类型
      -- Django的解析器

        在request.post中调用
          request.POST Form表单的数据
          request.FILES 文件的数据
      -- DRF解析器

        在request.data 中调用
          -- 拿前端传过来的Content-Type 跟我自己所有的解析器进行匹配
          -- 匹配上了返回这个解析器
          -- 并且调用这个解析器的parse方法 进行解析数据
      -- DRF默认配置的解析器: 有三个:

        from rest_framework import parser

     3 渲染器

      a : 默认的两个渲染器:

         'DEFAULT_RENDERER_CLASSES': (
            'rest_framework.renderers.JSONRenderer',                一个是json提供的
            'rest_framework.renderers.BrowsableAPIRenderer',  一个是浏览器提供的
          ),

      b : 在浏览器上展示的DRF的那个测试页面就是通过浏览器的渲染器做到的, 当然我们也可以通过json数据类型.

        

        

  • 相关阅读:
    OpenCV-C++ 图像上采样和降采样
    OpenCV-C++ 图像形态学操作应用-提取水平与垂直线
    OpenCV-C++ 图像形态学操作
    OpenCV-C++ 图像滤波(二)-中值滤波-双边滤波
    OpenCV-C++ 图像滤波(一)-均值滤波-高斯滤波
    OpenCV-C++ 绘制基本形状与编写文字
    OpenCV-C++ 调整图像亮度和对比度
    OpenCV-C++ 图像混合
    Mysql新建表,插入中文时报错“Incorrect string value: 'xE4xBDxA0xE5xA5xBD' for column”问题
    springcloud11 spring cloud config
  • 原文地址:https://www.cnblogs.com/gyh412724/p/10017546.html
Copyright © 2011-2022 走看看