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

Python urls.replace_query_param函数代码示例

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

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



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


示例16: get_previous_link

 def get_previous_link(self):
     """
     Returns absolute url of the previous page if there's a previous page available
     otherwise returns None
     """
     previous_url = None
     if self.page.has_previous():
         previous_url = replace_query_param(self.base_url, "page", self.page.previous_page_number())
     return previous_url
开发者ID:AlexxNica,项目名称:edx-platform,代码行数:9,代码来源:pagination.py


示例17: get_next_link

 def get_next_link(self):
     """
     Returns absolute url of the next page if there's a next page available
     otherwise returns None
     """
     next_url = None
     if self.page.has_next():
         next_url = replace_query_param(self.base_url, "page", self.page.next_page_number())
     return next_url
开发者ID:AlexxNica,项目名称:edx-platform,代码行数:9,代码来源:pagination.py


示例18: test_valid_offset_limit

    def test_valid_offset_limit(self):
        """
        Basic test, assumes offset and limit are given.
        """
        offset = 10
        limit = 5
        count = len(self.queryset)
        last_offset = (count // limit) * limit
        next_offset = 15
        prev_offset = 5

        request = self.get_test_request({
            self.pagination.limit_query_param: limit,
            self.pagination.offset_query_param: offset
        })
        base_url = replace_query_param(self.base_url, self.pagination.limit_query_param, limit)
        last_url = replace_query_param(base_url, self.pagination.offset_query_param, last_offset)
        first_url = base_url
        next_url = replace_query_param(base_url, self.pagination.offset_query_param, next_offset)
        prev_url = replace_query_param(base_url, self.pagination.offset_query_param, prev_offset)
        queryset = self.paginate_queryset(request)
        content = self.get_paginated_content(queryset)
        next_offset = offset + limit

        expected_content = {
            'results': list(range(offset + 1, next_offset + 1)),
            'links': OrderedDict([
                ('first', first_url),
                ('last', last_url),
                ('next', next_url),
                ('prev', prev_url),
            ]),
            'meta': {
                'pagination': OrderedDict([
                    ('count', count),
                    ('limit', limit),
                    ('offset', offset),
                ])
            }
        }

        assert queryset == list(range(offset + 1, next_offset + 1))
        assert content == expected_content
开发者ID:django-json-api,项目名称:django-rest-framework-json-api,代码行数:43,代码来源:test_pagination.py


示例19: page_number_query

    def page_number_query(self, url, page_number):
        """
        Builds uri and adds page param.
        """
        url = remove_query_param(self.request.build_absolute_uri(url), '_')
        paginated_url = replace_query_param(url, self.page_query_param, page_number)

        if page_number == 1:
            return remove_query_param(paginated_url, self.page_query_param)

        return paginated_url
开发者ID:adlius,项目名称:osf.io,代码行数:11,代码来源:pagination.py


示例20: get_last_link

    def get_last_link(self):
        """ Return the URL of the last paginated page """

        if not self.get_next_link():
            return None

        return replace_query_param(
            self.request.build_absolute_uri(),
            self.offset_query_param,
            self.count - self.limit,
        )
开发者ID:sassoo,项目名称:drfjsonapi,代码行数:11,代码来源:pagination.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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