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

Python rest_framework.replace_query_param函数代码示例

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

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



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

示例1: set_next_prev_urls

def set_next_prev_urls(page,max_page,uri):
    if page < max_page:
        nexturi = replace_query_param(uri, 'page', page + 1)
    else:
        nexturi = None
    if page > 1:
        previous = replace_query_param(uri, 'page', page - 1)
    else:
        previous = None
    return nexturi, previous
开发者ID:cybercommons,项目名称:cybercom-api,代码行数:10,代码来源:mongo_paginator.py


示例2: to_native

 def to_native(self, value):
     if not value.has_next():
         return None
     page = value.next_page_number()
     request = self.context.get('request')
     url = request and request.build_absolute_uri() or ''
     return replace_query_param(url, self.page_field, page)
开发者ID:noelpur,项目名称:django-rest-framework,代码行数:7,代码来源:pagination.py


示例3: to_native

 def to_native(self, page_range):
     response = []
     request = self.context.get('request')
     url = request and request.build_absolute_uri() or ''
     for page in page_range:
         response.append(replace_query_param(url, self.page_field, page))
     return response
开发者ID:manoelneto,项目名称:django-template,代码行数:7,代码来源:paginators.py


示例4: get_previous_link

 def get_previous_link(self):
     url = self.request.build_absolute_uri()
     page = self.get_page()
     if page < 2:
         return None
     return replace_query_param(
         url, self.page_query_param, self.get_page() - 1)
开发者ID:Atala,项目名称:arguman.org,代码行数:7,代码来源:mixins.py


示例5: to_representation

 def to_representation(self, value):
     if not value.has_previous():
         return None
     page = value.previous_page_number()
     request = self.context.get('request')
     url = request and request.build_absolute_uri() or ''
     return replace_query_param(url, self.page_field, page)
开发者ID:zhanglc,项目名称:django-rest-framework,代码行数:7,代码来源:pagination.py


示例6: reverse

 def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra):
     url = super(QueryParameterVersioning, self).reverse(
         viewname, args, kwargs, request, format, **extra
     )
     if request.version is not None:
         return replace_query_param(url, self.version_param, request.version)
     return url
开发者ID:neogoku,项目名称:nfv_api,代码行数:7,代码来源:versioning.py


示例7: build_page_url

    def build_page_url(self, page_identifier):
        """
        Builds a URL which can be used to access the given page identifer.

        In the general case, the page identifiers do not have to be numbers.
        """
        url = self.request.build_absolute_uri()
        return replace_query_param(url, self.paging_parameter, page_identifier)
开发者ID:mlalic,项目名称:TumCampusAppBackend,代码行数:8,代码来源:views.py


示例8: paginate_words

def paginate_words(words, request):
    """Generate paginated output from a word query set"""
    page_size = _get_page_size(request)
    page_num = int(request.query_params.get('page', 1))
    paginator = Paginator(words, page_size)
    page = paginator.page(page_num)

    serializer = WordSerializer()
    response = {'count': paginator.count,
                'page_count': paginator.num_pages,
                'page': page_num,
                'results': serializer.serialize_many(page.object_list)}
    request_url = request.build_absolute_uri()
    if page.has_previous():
        response['previous'] = replace_query_param(request_url, 'page', page.previous_page_number())
    if page.has_next():
        response['next'] = replace_query_param(request_url, 'page', page.next_page_number())
    return Response(response)
开发者ID:amdw,项目名称:jianjin,代码行数:18,代码来源:views.py


示例9: paginate_queryset

    def paginate_queryset(self, queryset, page_size=None):
        page = super().paginate_queryset(queryset=queryset, page_size=page_size)

        if page is None:
            return page

        self.headers["x-pagination-count"] = page.paginator.count
        self.headers["x-paginated"] = "true"
        self.headers["x-paginated-by"] = page.paginator.per_page
        self.headers["x-pagination-current"] = page.number

        if page.has_next():
            num = page.next_page_number()
            url = self.request.build_absolute_uri()
            url = replace_query_param(url, "page", num)
            self.headers["X-Pagination-Next"] = url

        if page.has_previous():
            num = page.previous_page_number()
            url = self.request.build_absolute_uri()
            url = replace_query_param(url, "page", num)
            self.headers["X-Pagination-Prev"] = url

        return page
开发者ID:6ft,项目名称:taiga-back,代码行数:24,代码来源:pagination.py


示例10: build_link

 def build_link(self, index):
     if not index:
         return None
     url = self.request and self.request.build_absolute_uri() or ''
     return replace_query_param(url, 'page', index)
开发者ID:jamswu,项目名称:opsmanage,代码行数:5,代码来源:serializers.py


示例11: MongoDataPagination

def MongoDataPagination(DB_MongoClient, database, collection, query=None, page=1, nPerPage=None, uri=''):
    db = DB_MongoClient
    if query:
        query = ast.literal_eval(query)
        q = [(k, v) for k, v in query['spec'].items()]
        query['spec'] = dict(q)
        #print query
        count = db[database][collection].find(**query).count()
        #print count
        if nPerPage == 0:
            page=1
            offset=0
            max_page=1
        else:
            max_page = math.ceil(float(count) / nPerPage)
            # Page min is 1
            if page < 1:
                page = 1
            #Change page to last page with data
            if page * nPerPage > count:
                page = int(max_page)
            #Cover count =0
            if page < 1:
                page = 1
            offset = (page - 1) * nPerPage
        data = [row for row in db[database][collection].find(**query).skip(offset).limit(nPerPage)]
        #replace_query_param(uri, 'page', page)
    else:
        count = db[database][collection].find().count()
        if nPerPage == 0:
            page=1
            offset=0
            max_page=1
        else:
            max_page = math.ceil(float(count) / nPerPage)
            print max_page
            # Page min is 1
            if page < 1:
                page = 1
            #Change page to last page with data
            if page * nPerPage > count:
                page = int(max_page)
            #Cover count =0
            if page < 1:
                page = 1
            offset = (page - 1) * nPerPage
        data = [row for row in db[database][collection].find().skip(offset).limit(nPerPage)]
    if page < max_page:
        next = replace_query_param(uri, 'page', page + 1)
    else:
        next = None
    if page > 1:
        previous = replace_query_param(uri, 'page', page - 1)
    else:
        previous = None
    result = {'count': count, 'meta': {'page': page, 'page_size': nPerPage, 'pages': int(max_page)}, 'next': next,
              'previous': previous, 'results': data}

    try:
        od = collections.OrderedDict(sorted(result.items()))
    except:
        # older python versions < 2.7
        od = OrderedDict(sorted(result.items()))
    return od
开发者ID:MGMIC,项目名称:restful-api,代码行数:64,代码来源:mongo_paginator.py


示例12: get_next_link

 def get_next_link(self):
     url = self.request.build_absolute_uri()
     return replace_query_param(
         url, self.page_query_param, self.get_page() + 1)
开发者ID:Atala,项目名称:arguman.org,代码行数:4,代码来源:mixins.py


示例13: _get_page_link

 def _get_page_link(self, value, page):
     if not value.paginator.count:
         return None
     uri = self._get_current_uri()
     return self._get_link_object(replace_query_param(uri, self.page_field, page))
开发者ID:Proteus-tech,项目名称:drf_hal,代码行数:5,代码来源:pagination.py


示例14: to_native

 def to_native(self, value):
     if not value.has_next():
         return None
     page = value.next_page_number()
     return replace_query_param('', self.page_field, page)
开发者ID:doismellburning,项目名称:cla_backend,代码行数:5,代码来源:pagination.py


示例15: paginate

    def paginate(self, queryset, request):
        # first get paging parameters.
        limit_p = settings.REST_FRAMEWORK.get('PAGINATE_BY_PARAM', 'limit')
        offset_p = settings.REST_FRAMEWORK.get('PAGINATE_PARAM', 'offset')
        max_limit = settings.REST_FRAMEWORK.get('MAX_PAGINATE_BY', 500)
        default_limit = settings.REST_FRAMEWORK.get('PAGINATE_BY', 10)
        offset = int(request.QUERY_PARAMS.get(offset_p, 0))
        limit = int(request.QUERY_PARAMS.get(limit_p, default_limit))
        limit = max_limit if limit > max_limit else limit
        page = queryset[offset:offset+limit]

        # make sure the end row num is not > the total count of the queryset
        total_count = queryset.count()
        if total_count > 0:
            end_row = offset + limit - 1
            end_row = total_count - 1 if end_row > total_count - 1 else end_row
        else:
            end_row = None
            offset = None

        url = request.build_absolute_uri()

        # determine the previous and next offsets for the previous and next
        # pages of results
        if offset is None or offset == 0:
            prev_offset = None
        else:
            prev_offset = offset - limit if offset - limit >= 0 else 0

        if offset is None or end_row == total_count - 1:
            next_offset = None
        else:
            next_offset = offset + limit

        prev_page = None
        if prev_offset is not None:
            prev_page = urllib.unquote(replace_query_param(url, offset_p, 
                                                           prev_offset))
        next_page = None
        if next_offset is not None:
            next_page = urllib.unquote(replace_query_param(url, offset_p,
                                                           next_offset))

        resource_name = render.underscoreToCamel(self.resource_name)
        resource_list = self.get_serializer(instance=page, force_refresh=True,
                                            context={'request': request,
                                                     'view': self}).data

        # page_data elements dictate what shows up in the API for page-level
        # metadata
        page_data = OrderedDict()
        page_data['totalCount'] = total_count
        if offset is not None:
            page_data['startRow'] = offset
        if end_row is not None:
            page_data['endRow'] = end_row
        page_data['_links'] = OrderedDict()
        page_data['_links']['self'] = {'href': url}
        if prev_page is not None:
            page_data['_links']['previous'] = {'href': prev_page}
        if next_page is not None:
            page_data['_links']['next'] = {'href': next_page}
        if resource_list:
            page_data['_embedded'] = {resource_name: resource_list}

        return page_data
开发者ID:jthomale,项目名称:catalog-api,代码行数:66,代码来源:simpleviews.py


示例16: add_query_param

def add_query_param(url, **query):
    for key, val in query.items():
        url = replace_query_param(url, key, val)
    return url
开发者ID:willkg,项目名称:browsercompat,代码行数:4,代码来源:helpers.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python test.force_authenticate函数代码示例发布时间:2022-05-26
下一篇:
Python status.is_success函数代码示例发布时间: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