当前位置: 首页>>代码示例>>Python>>正文


Python urls.replace_query_param函数代码示例

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


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

示例1: get_paginated_data

def get_paginated_data(request, results, page_num, per_page):
    """
    Return a dict with the following values:

    next: The URL for the next page
    previous: The URL for the previous page
    results: The results on this page
    """
    # Note: Previous versions of this function used Django Rest Framework's
    # paginated serializer.  With the upgrade to DRF 3.1, paginated serializers
    # have been removed.  We *could* use DRF's paginator classes, but there are
    # some slight differences between how DRF does pagination and how we're doing
    # pagination here.  (For example, we respond with a next_url param even if
    # there is only one result on the current page.)  To maintain backwards
    # compatability, we simulate the behavior that DRF used to provide.
    page = _Page(results, page_num, per_page)
    next_url, previous_url = None, None
    base_url = request.build_absolute_uri()

    if page.has_next():
        next_url = replace_query_param(base_url, "page", page.next_page_number())

    if page.has_previous():
        previous_url = replace_query_param(base_url, "page", page.previous_page_number())

    return {
        "next": next_url,
        "previous": previous_url,
        "results": results,
    }
开发者ID:Certific-NET,项目名称:edx-platform,代码行数:30,代码来源:pagination.py

示例2: get_paginated_response

    def get_paginated_response(self, data):
        self_link = self.request.build_absolute_uri()
        if self_link.endswith(".api"):
            self_link = self_link[:-4]

        if self.page.has_next():
            next_link = replace_query_param(
                self_link, self.page_query_param, self.page.next_page_number())
        else:
            next_link = None

        if self.page.has_previous():
            prev_link = replace_query_param(
                self_link, self.page_query_param,
                self.page.previous_page_number())
        else:
            prev_link = None

        return response.Response(OrderedDict([
            ('_links', OrderedDict([
                ('self', dict(href=self_link)),
                ('next', dict(href=next_link)),
                ('previous', dict(href=prev_link)),
            ])),
            ('count', self.page.paginator.count),
            ('_embedded', data)
        ]))
开发者ID:DatapuntAmsterdam,项目名称:panorama,代码行数:27,代码来源:hal_serializer.py

示例3: test_valid_unicode_preserved

    def test_valid_unicode_preserved(self):
        q = '/?q=%E6%9F%A5%E8%AF%A2'
        new_key = 'page'
        new_value = 2
        value = '%E6%9F%A5%E8%AF%A2'

        assert new_key in replace_query_param(q, new_key, new_value)
        assert value in replace_query_param(q, new_key, new_value)
开发者ID:kakulukia,项目名称:django-rest-framework,代码行数:8,代码来源:test_utils.py

示例4: test_valid_unicode_replaced

    def test_valid_unicode_replaced(self):
        q = '/?page=1'
        value = '1'
        new_key = 'q'
        new_value = '%E6%9F%A5%E8%AF%A2'

        assert new_key in replace_query_param(q, new_key, new_value)
        assert value in replace_query_param(q, new_key, new_value)
开发者ID:kakulukia,项目名称:django-rest-framework,代码行数:8,代码来源:test_utils.py

示例5: get_previous_link

    def get_previous_link(self):
        if self.page == 1:
            return None

        url = self.request.build_absolute_uri()
        url = replace_query_param(url, self.page_size_query_param, self.limit)
        url = replace_query_param(url, self.page_query_param, self.page - 1)

        return url
开发者ID:fedspendingtransparency,项目名称:usaspending-api,代码行数:9,代码来源:pagination.py

示例6: get_next_link

    def get_next_link(self, data=[]):
        if len(data) < self.limit:
            return None

        url = self.request.build_absolute_uri()
        url = replace_query_param(url, self.limit_query_param, self.limit)

        offset = data[-1]['ranking']
        return replace_query_param(url, self.offset_query_param, offset)
开发者ID:universitas,项目名称:tassen,代码行数:9,代码来源:frontpage.py

示例7: get_next_link

    def get_next_link(self):
        if not self.has_next_page:
            return None

        url = self.request.build_absolute_uri()
        url = replace_query_param(url, self.page_size_query_param, self.limit)
        url = replace_query_param(url, self.page_query_param, self.page + 1)

        return url
开发者ID:fedspendingtransparency,项目名称:usaspending-api,代码行数:9,代码来源:pagination.py

示例8: get_next_link

    def get_next_link(self):
        if self.offset + self.limit >= self.count:
            return None

        url = self.request.build_absolute_uri()
        url = replace_query_param(url, self.limit_query_param, self.limit)

        offset = self.offset + self.limit
        return replace_query_param(url, self.offset_query_param, offset)
开发者ID:rpadams,项目名称:django-rest-framework,代码行数:9,代码来源:pagination.py

示例9: get_previous_link

    def get_previous_link(self):
        if self.offset <= 0:
            return None

        url = self.request.build_absolute_uri()
        url = replace_query_param(url, self.limit_query_param, self.limit)

        if self.offset - self.limit <= 0:
            return remove_query_param(url, self.offset_query_param)

        offset = self.offset - self.limit
        return replace_query_param(url, self.offset_query_param, offset)
开发者ID:rpadams,项目名称:django-rest-framework,代码行数:12,代码来源:pagination.py

示例10: get_last_link

    def get_last_link(self):
        if self.count == 0:
            return None

        url = self.request.build_absolute_uri()
        url = replace_query_param(url, self.limit_query_param, self.limit)

        offset = self.count - self.limit

        if offset <= 0:
            return remove_query_param(url, self.offset_query_param)

        return replace_query_param(url, self.offset_query_param, offset)
开发者ID:TGoldR,项目名称:RestApiMozio,代码行数:13,代码来源:pagination.py

示例11: test_invalid_unicode

    def test_invalid_unicode(self):
        # Encoded string: '��<script>alert(313)</script>=1'
        q = '/e/?%FF%FE%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%33%31%33%29%3C%2F%73%63%72%69%70%74%3E=1'
        key = 'from'
        value = 'login'

        assert key in replace_query_param(q, key, value)
开发者ID:kakulukia,项目名称:django-rest-framework,代码行数:7,代码来源:test_utils.py

示例12: get_first_link

 def get_first_link(self, display_page_query_param=True):
     url = self.request.build_absolute_uri()
     if display_page_query_param:
         page_number = self.page.paginator.validate_number(1)
         return replace_query_param(url, self.page_query_param, page_number)
     else:
         return remove_query_param(url, self.page_query_param)
开发者ID:PressLabs,项目名称:silver,代码行数:7,代码来源:pagination.py

示例13: add_query_param

def add_query_param(request, key, val):
    """
    Add a query parameter to the current request url, and return the new url.
    """
    iri = request.get_full_path()
    uri = iri_to_uri(iri)
    return escape(replace_query_param(uri, key, val))
开发者ID:jplaut,项目名称:django-rest-framework,代码行数:7,代码来源:rest_framework.py

示例14: get_last_link

    def get_last_link(self):
        url = self.request.build_absolute_uri()
        page_number = self.paginator.num_pages

        # only add a 'last' link if it isn't going to be the same as the 'first' link.
        if page_number != 1:
            return replace_query_param(url, self.page_query_param, page_number)
开发者ID:ITNG,项目名称:dj-jsonapi,代码行数:7,代码来源:pagination.py

示例15: adjust_offset

 def adjust_offset(self, url, page_offset):
     if url is None:
         return
     (scheme, netloc, path, query, fragment) = urlparse.urlsplit(force_str(url))
     query_dict = QueryDict(query)
     try:
         offset = pagination._positive_int(
             query_dict[self.offset_query_param],
         )
     except (KeyError, ValueError):
         pass
     else:
         if offset > page_offset:
             url = replace_query_param(url, self.offset_query_param, max(0, offset - self.overlapping))
         elif offset < page_offset:
             url = replace_query_param(url, self.offset_query_param, offset + self.overlapping)
     return url
开发者ID:awesto,项目名称:django-shop,代码行数:17,代码来源:catalog.py


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