• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python pagination.PageNumberPagination类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中rest_framework.pagination.PageNumberPagination的典型用法代码示例。如果您正苦于以下问题:Python PageNumberPagination类的具体用法?Python PageNumberPagination怎么用?Python PageNumberPagination使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了PageNumberPagination类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: employee_list_group_by_badges_detail

def employee_list_group_by_badges_detail(request, badge_id):
    """
    Returns employee list grouped by badge, you should provide badge_id
    ---
    response_serializer: stars.serializers.EmployeeGroupedListSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        badge = get_object_or_404(Badge, pk=badge_id)
        employee_list = EmployeeBadge.objects.filter(badge=badge).values(
            'to_user__pk',
            'to_user__username',
            'to_user__first_name',
            'to_user__last_name',
            'to_user__level',
            'to_user__avatar')
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(employee_list, request)
        serializer = EmployeeGroupedListSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:belatrix,项目名称:BackendAllStars,代码行数:26,代码来源:views.py


示例2: employee_list_group_by_badges

def employee_list_group_by_badges(request):
    """
    Returns badge list with employee counter or result list if you use ?search=
    ---
    response_serializer: stars.serializers.EmployeeBadgeListSerializer
    parameters:
    - name: search
      required: false
      type: string
      paramType: query
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        if request.GET.get('search'):
            search_term = request.GET.get('search')
            badge_list = EmployeeBadge.objects.filter(
                Q(badge__name__icontains=search_term)).values(
                    'badge__pk',
                    'badge__name').annotate(num_employees=Count('to_user')).order_by('-num_employees')
        else:
            badge_list = EmployeeBadge.objects.all().values(
                'badge__pk',
                'badge__name').annotate(num_employees=Count('to_user')).order_by('-num_employees')
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(badge_list, request)
        serializer = EmployeeBadgeListSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:belatrix,项目名称:BackendAllStars,代码行数:33,代码来源:views.py


示例3: keyword_list

def keyword_list(request):
    """
    Returns full keyword list ordered by name
    ---
    serializer: categories.serializers.KeywordSerializer
    parameters:
    - name: pagination
      required: false
      type: string
      paramType: query
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        keywords = get_list_or_404(Keyword, is_active=True)
        if request.GET.get('pagination'):
            pagination = request.GET.get('pagination')
            if pagination == 'true':
                paginator = PageNumberPagination()
                results = paginator.paginate_queryset(keywords, request)
                serializer = KeywordSerializer(results, many=True)
                return paginator.get_paginated_response(serializer.data)
            else:
                return Response(status=status.HTTP_400_BAD_REQUEST)
        else:
            serializer = KeywordSerializer(keywords, many=True)
            return Response(serializer.data, status=status.HTTP_200_OK)
开发者ID:belatrix,项目名称:BackendAllStars,代码行数:32,代码来源:views.py


示例4: employee_skill_remove

def employee_skill_remove(request, employee_id):
    """
    Remove employee skill
    ---
    response_serializer: employees.serializers.EmployeeSkillsSerializer
    parameters:
    - name: skill
      type: string
      required: true
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    - code: 500
      message: Internal Server Error
    """
    if request.method == 'PATCH':
        if 'skill' in request.data:
            skill = request.data['skill'].upper()
            keyword = get_object_or_404(Keyword, name=skill)
            employee = get_object_or_404(Employee, pk=employee_id)
            employee.skills.remove(keyword)
            employee.save()
            skills = employee.skills.all()
            paginator = PageNumberPagination()
            results = paginator.paginate_queryset(skills, request)
            serializer = EmployeeSkillsSerializer(results, many=True)
            return paginator.get_paginated_response(serializer.data)
开发者ID:Gladislao,项目名称:BackendAllStars,代码行数:31,代码来源:views.py


示例5: employee_skills_search

def employee_skills_search(request, terms):
    """
    Returns the full employee list or result list from search skill terms
    ---
    serializer: employees.serializers.EmployeeListSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    - code: 500
      message: Internal server error.
    """
    if request.method == 'GET':
        search_terms_array = terms.split()

        initial_term = search_terms_array[0]
        employee_list = Employee.objects.filter(skills__name__icontains=initial_term).annotate(Count('id'))

        if len(search_terms_array) > 1:
            for term in range(1, len(search_terms_array)):
                employee_list = employee_list.filter(search_terms_array[term])
    paginator = PageNumberPagination()
    results = paginator.paginate_queryset(employee_list, request)
    serializer = EmployeeListSerializer(results, many=True)
    return paginator.get_paginated_response(serializer.data)
开发者ID:Gladislao,项目名称:BackendAllStars,代码行数:28,代码来源:views.py


示例6: get_notifications

def get_notifications(request, employee_id):
    """
    Get all notifications for employee id
    ---
    response_serializer: activities.serializers.NotificationSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    - code: 500
      message: Internal Server Error
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        activities = Activity.objects.annotate(
            profile=F('to_user')).values('datetime',
                                         'text',
                                         'profile').filter(to_user=employee)
        messages = Message.objects.annotate(
            profile=F('from_user')).values('datetime',
                                           'text',
                                           'profile').filter(Q(to_user='all') |
                                                             Q(to_user=employee.location.name) |
                                                             Q(to_user=employee.username))
        notifications = list(chain(activities, messages))
        notifications = sorted(notifications, reverse=True)
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(notifications, request)
        serializer = NotificationSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:belatrix,项目名称:BackendAllStars,代码行数:33,代码来源:views.py


示例7: other_location_events

def other_location_events(request, employee_id):
    """
    Returns the full upcoming events list for employee location
    ---
    serializer: events.serializers.EventSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    events = []
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        events_list = Event.objects.filter(is_active=True)

        for event in events_list:
            if event.location != employee.location:
                events.append(event)

        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(events, request)
        serializer = EventSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:belatrix,项目名称:BackendAllStars,代码行数:26,代码来源:views.py


示例8: stars_keyword_list_detail

def stars_keyword_list_detail(request, keyword_id):
    """
    Returns stars list detail for keyword id.
    ---
    response_serializer: stars.serializers.StarTopEmployeeLists
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        keyword = get_object_or_404(Keyword, pk=keyword_id)
        stars = Star.objects.filter(keyword=keyword).values(
            'to_user__pk',
            'to_user__username',
            'to_user__first_name',
            'to_user__last_name',
            'to_user__level',
            'to_user__avatar').annotate(num_stars=Count('keyword')).order_by('-num_stars')
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(stars, request)
        serializer = StarTopEmployeeLists(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:Gladislao,项目名称:BackendAllStars,代码行数:26,代码来源:views.py


示例9: stars_keyword_list

def stars_keyword_list(request):
    """
    Returns stars list grouped by keyword or result list if you use ?search=
    ---
    serializer: stars.serializers.StarKeywordList
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        if request.GET.get('search'):
            search_term = request.GET.get('search')
            star_list = Star.objects.filter(
                Q(keyword__name__icontains=search_term)).values('keyword__pk',
                                                                'keyword__name').annotate(num_stars=Count('keyword')).order_by('-num_stars')
        else:
            star_list = Star.objects.all().values('keyword__pk', 'keyword__name').annotate(num_stars=Count('keyword')).order_by('-num_stars')
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(star_list, request)
        serializer = StarKeywordList(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:Gladislao,项目名称:BackendAllStars,代码行数:25,代码来源:views.py


示例10: get_messages

def get_messages(request, employee_id):
    """
    Get all messages for employee id
    ---
    response_serializer: activities.serializers.MessageSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    - code: 500
      message: Internal Server Error
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        messages = Message.objects.filter(
            Q(to_user='all') |
            Q(to_user=employee.location.name) |
            Q(to_user=employee.username))
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(messages, request)
        serializer = MessageSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data)
开发者ID:belatrix,项目名称:BackendAllStars,代码行数:25,代码来源:views.py


示例11: person

def person(request, pk=None, search=None, order=None):
    if request.method == 'GET' and pk==None:
        """
        Returns a JSON response with a listing of person objects
        """
        search = request.query_params.get('search')
        order = request.query_params.get('order') 

        if (search==None):
            search = '';

        if (order == None or order == ''):
            order = 'name'


        people = Person.objects.filter(name__istartswith=search).order_by(order).all()

        paginator = PageNumberPagination()    
        # From the docs:
        # The paginate_queryset method is passed the initial queryset 
        # and should return an iterable object that contains only the 
        # data in the requested page.
        result_page = paginator.paginate_queryset(people, request)
        # Now we just have to serialize the data
        serializer = PersonSerializer(result_page, many=True)
        # From the docs:
        # The get_paginated_response method is passed the serialized page 
        # data and should return a Response instance.
        return paginator.get_paginated_response(serializer.data)

    elif request.method == 'POST':
        serializer = PersonSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save(photo = get_gravatar_url(serializer.data['email'], size=150))
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    try:
        person = Person.objects.get(pk=pk)
    except Person.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = PersonSerializer(person)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = PersonSerializer(person, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        else:
            return Response(serilizer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        person.delete()
        serializer = PersonSerializer(person)
        return Response(serializer.data)
开发者ID:fernandodof,项目名称:django-rest-tasks,代码行数:59,代码来源:views.py


示例12: list

 def list(self, request):
     self.check_permissions(request)
     paginator = PageNumberPagination()
     users = User.objects.all()
     paginator.paginate_queryset(users, request)
     serializer = UserSerializer(users, many=True)
     serializer_users = serializer.data
     return paginator.get_paginated_response(serializer_users)
开发者ID:snooze6,项目名称:django-example,代码行数:8,代码来源:api.py


示例13: get_paginated_response

    def get_paginated_response(self):
        paginator = PageNumberPagination()

        page = paginator.paginate_queryset(self.queryset, self.request)

        model_serializer = self.serializer_class(page, many=True, context={"request": self.request})

        return paginator.get_paginated_response(model_serializer.data)
开发者ID:nickswebsite,项目名称:gumshoe,代码行数:8,代码来源:views.py


示例14: paginated_queryset

def paginated_queryset(queryset, request):
	"""
	Return a paginated queryset.
	"""
	paginator = PageNumberPagination()
	paginator.page_size = settings.REST_FRAMEWORK['PAGE_SIZE']
	result_page = paginator.paginate_queryset(queryset, request)
	return (paginator, result_page)
开发者ID:ncs-jss,项目名称:HTTP_200,代码行数:8,代码来源:pagination.py


示例15: get_page_response

 def get_page_response(self, query_set, request, serializer_class):
     """
     simple function to convert query set to rest framework paginated
     response,
     :param query_set: query set
     :param request: wsgi request
     :param serializer_class: serialzer for query set
     :return: paginated response.
     """
     paginator = PageNumberPagination()
     result_page = paginator.paginate_queryset(query_set, request)
     serializer = serializer_class(result_page, many=True)
     return paginator.get_paginated_response(serializer.data)
开发者ID:srkama,项目名称:todo,代码行数:13,代码来源:api_rest.py


示例16: list

    def list(self, request):
        self.check_permissions(request)
        # Instanciar el paginador
        paginator = PageNumberPagination()
        users = User.objects.all()
        # Pagina el Queryset
        paginator.paginate_queryset(users, request)
        serializer = UserSerializer(users, many=True)
        serialized_users = serializer.data #Lista de diccionarios
        #renderer = JSONRenderer()
        #json_users = renderer.render(serialized_users) # Lista de diccionarios --> JSON

        # Devolver respuesta paginada
        return paginator.get_paginated_response(serialized_users)
开发者ID:lbarrous,项目名称:Frikr,代码行数:14,代码来源:api.py


示例17: get

 def get(self, request, format=None):
     """
     Returns a JSON response with a listing of course objects
     """
     paginator = PageNumberPagination()
     # From the docs:
     # The paginate_queryset method is passed the initial queryset
     # and should return an iterable object that contains only the
     # data in the requested page.
     result_page = paginator.paginate_queryset(self.get_queryset(), request)
     # Now we just have to serialize the data.
     serializer = CommunityPostSerializer(result_page, many=True, context={'request': request})
     # From the docs:
     # The get_paginated_response method is passed the serialized page
     # data and should return a Response instance.
     return paginator.get_paginated_response(serializer.data)
开发者ID:JJZolper,项目名称:AthletesUnited,代码行数:16,代码来源:views.py


示例18: diffs

def diffs(request, doctype_name, dataset_name):
    queryset = TreeNode.objects.select_related(
        'dataset', 'tree2_diffs'
    ).filter(
        dataset__doctype__name=doctype_name,
        dataset__name=dataset_name,
        tree2_diffs__isnull=False
    )

    paginator = PageNumberPagination()
    paginator.page_size = 1

    result_page = paginator.paginate_queryset(queryset, request)
    serializer = KeySerializer(result_page, many=True)

    return paginator.get_paginated_response(serializer.data)
开发者ID:classifaddict,项目名称:classifactory,代码行数:16,代码来源:views.py


示例19: blogs_list

def blogs_list(request):
    "GET: displays all the blogs POST: take a new blog as I/P (or) modified text"
    if request.method == 'GET':
        blogs = Blog.objects.all()
        pages = PageNumberPagination()
        page_data = pages.paginate_queryset(blogs, request)
        serializer = BlogSerializer(page_data, many=True)
        return pages.get_paginated_response(serializer.data)
    elif request.method == 'POST':
        data = request.data
        title = data.pop('title')
        text = data.pop('text')
        try:
            blog_exists = Blog.objects.filter(title=title)
            if blog_exists:
                para_list = text.split('\n\n')
                para_text = Paragraph.objects.filter(blog=blog_exists)
                dummy = json.loads(blog_exists[0].seq)
                para_delete = para_text.exclude(text__in = para_list)
                if para_delete:
                    comm_delete = Comment.objects.filter(paragraph__in=para_delete).delete()
                    for i in para_delete:
                        dummy.remove(i.id)
                    para_delete.delete()
                para_text = para_text.filter().values_list('text', flat=True)
                for i in range(0, len(para_list)):
                    if para_list[i] not in para_text:
                        para_save = Paragraph(blog=blog_exists[0], text=para_list[i])
                        para_save.save()
                        dummy = dummy[:i] + [para_save.id] + dummy[i:]
                blog_exists[0].seq = json.dumps(dummy)
                blog_exists[0].save()
                return Response({"status":"success", "message":"Text is updated"}, status=status.HTTP_201_CREATED)
            else:
                blog_save = Blog(title=title)
                blog_save.save()
                paragraphs = text.split('\n\n')
                para_list = [Paragraph(blog=blog_save, text=t) for t in paragraphs]
                Paragraph.objects.bulk_create(para_list)
                if para_list:
                    blog_save.seq = json.dumps(list(Paragraph.objects.filter(blog=blog_save).order_by('id').values_list('id', flat=True)), cls=DjangoJSONEncoder)
                else:
                    blog_save.seq = json.dumps(list())
                blog_save.save()
                return Response({"status":"success", "message":"New Blog created"}, status=status.HTTP_201_CREATED)
        except Exception as ex:
            return Response({"status":"fail", 'message':str(ex)}, status=status.HTTP_400_BAD_REQUEST)
开发者ID:radhika19,项目名称:blog,代码行数:47,代码来源:views.py


示例20: search

def search(request, query):
    """
    Lista resultados de búsqueda de palabra clave. Usa paginación y muestra
    hasta 20 resultados por página.
    Además muestra links para páginas previas y siguientes.

    # Puedes obtener los resultados en archivo TSV

    Este archivo contiene la información en campos separados por tabs
    (fácil de importar a MS Excel)

    Solo es necesario usar la dirección `search.tsv`:

    * <http://manolo.rocks/api/search.tsv/romulo/>
    ---
    type:
      query:
        required: true
        type: string
    parameters:
      - name: query
        description: nombre o palabra clave a busar, por ejemplo Romulo
        type: string
        paramType: path
        required: true
    """
    query_request = QueryDict('q={}'.format(query))
    form = ApiForm(query_request)
    if request.user.is_authenticated():
        all_items = form.search(premium=True)
    else:
        all_items = form.search(premium=False)

    pagination = PageNumberPagination()
    paginated_results = pagination.paginate_queryset(all_items, request)
    paginated_results = [i.object for i in paginated_results]

    serializer = ManoloSerializer(paginated_results, many=True)

    data = {
        'count': pagination.page.paginator.count,
        'next': pagination.get_next_link(),
        'previous': pagination.get_previous_link(),
        'results': serializer.data,
    }
    return JSONResponse(data)
开发者ID:carlosp420,项目名称:django-manolo,代码行数:46,代码来源:views.py



注:本文中的rest_framework.pagination.PageNumberPagination类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python parsers.FileUploadParser类代码示例发布时间:2022-05-26
下一篇:
Python generics.get_object_or_404函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap