zoukankan      html  css  js  c++  java
  • ModelViewSet 分页 过滤

    ModelViewSet 分页 过滤

    局部使用

    分页

      导包

    from django_filters.rest_framework import DjangoFilterBackend

      类调用

    class MyPage(PageNumberPagination):
        page_size_query_param = 'max_page'
        page_query_param = 'page'
    class UserViewSet(viewsets.ModelViewSet):
      
      queryset = User.objects.all()
      # 分页   pagination_class
    = MyPage   serializer_class = UserSerializer #展示序列化器所有信息

    过滤

      导包

    from rest_framework import filters

      调用

    class UserViewSet(viewsets.ModelViewSet):
      
      queryset = User.objects.all()  
      filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter)   
      filter_class = GoodsFilters

      serializer_class = UserSerializer #展示序列化器所有信息

    全局使用

    REST_FRAMEWORK ={
        'DEFAULT_THROTTLE_RATES': {
            'user': '100/hour', # 认证用户每小时10次
            'anon': '1000/day',
        },
        # 过滤全局配置  (ModelViewSet)
        'DEFAULT_FILTER_BACKENDS':(
            'django_filters.rest_framework.DjangoFilterBackend',
            'rest_framework.filters.OrderingFilter'
        ),
        # 分页
        'DEFAULT_PAGINATION_CLASS':
            'rest_framework.pagination.PageNumberPagination',
            'PAGE_SIZE': 2,# 每⻚数⽬
        # 身份认证
        'DEFAULT_AUTHENTICATION_CLASSES': (
            'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
            'rest_framework.authentication.SessionAuthentication',
            # 登陆权限
            'rest_framework.authentication.BasicAuthentication',
        ),
        # #全局配置JWT验证设置
        # 'DEFAULT_PERMISSION_CLASSES': (
        #     'rest_framework.permissions.IsAuthenticated',
        # ),
    }
  • 相关阅读:
    封装缓动动画函数
    封装动画函数-匀速运动
    实现产品图片的放大镜效果:
    仿淘宝侧边栏滚动案例:
    页面被卷去的头部兼容性解决方案
    简单发送短信倒计时案例
    Echarts 版本的那些坑
    json变量作键名
    媒体查询那些事儿
    mac 强制关闭指定端口
  • 原文地址:https://www.cnblogs.com/sq1995liu/p/14153551.html
Copyright © 2011-2022 走看看