本文整理汇总了Python中urlobject.URLObject.add_query_param方法的典型用法代码示例。如果您正苦于以下问题:Python URLObject.add_query_param方法的具体用法?Python URLObject.add_query_param怎么用?Python URLObject.add_query_param使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类urlobject.URLObject
的用法示例。
在下文中一共展示了URLObject.add_query_param方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: URLObjectModificationTest
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import add_query_param [as 别名]
#.........这里部分代码省略.........
assert (self.url.with_port(24) ==
'https://github.com:24/zacharyvoase/urlobject?spam=eggs#foo')
def test_with_port_replaces_port_number(self):
url = URLObject('https://github.com:59/')
assert url.with_port(67) == 'https://github.com:67/'
def test_without_port_removes_port_number(self):
url = URLObject('https://github.com:59/')
assert url.without_port() == 'https://github.com/'
def test_with_path_replaces_path(self):
assert (self.url.with_path('/dvxhouse/intessa') ==
'https://github.com/dvxhouse/intessa?spam=eggs#foo')
def test_root_goes_to_root_path(self):
assert self.url.root == 'https://github.com/?spam=eggs#foo'
def test_parent_jumps_up_one_level(self):
url = URLObject('https://github.com/zacharyvoase/urlobject')
assert url.parent == 'https://github.com/zacharyvoase/'
assert url.parent.parent == 'https://github.com/'
def test_add_path_segment_adds_a_path_segment(self):
url = URLObject('https://github.com/zacharyvoase/urlobject')
assert (url.add_path_segment('tree') ==
'https://github.com/zacharyvoase/urlobject/tree')
assert (url.add_path_segment('tree/master') ==
'https://github.com/zacharyvoase/urlobject/tree%2Fmaster')
def test_add_path_adds_a_partial_path(self):
url = URLObject('https://github.com/zacharyvoase/urlobject')
assert (url.add_path('tree') ==
'https://github.com/zacharyvoase/urlobject/tree')
assert (url.add_path('tree/master') ==
'https://github.com/zacharyvoase/urlobject/tree/master')
def test_is_leaf(self):
assert URLObject('https://github.com/zacharyvoase/urlobject').is_leaf
assert not URLObject('https://github.com/zacharyvoase/').is_leaf
def test_with_query_replaces_query(self):
assert (self.url.with_query('spam-ham-eggs') ==
'https://github.com/zacharyvoase/urlobject?spam-ham-eggs#foo')
def test_without_query_removes_query(self):
assert (self.url.without_query() ==
'https://github.com/zacharyvoase/urlobject#foo')
def test_add_query_param_adds_one_query_parameter(self):
assert (self.url.add_query_param('spam', 'ham') ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&spam=ham#foo')
def test_add_query_params_adds_multiple_query_parameters(self):
assert (self.url.add_query_params([('spam', 'ham'), ('foo', 'bar')]) ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&spam=ham&foo=bar#foo')
def test_add_query_params_with_multiple_values_adds_the_same_query_parameter_multiple_times(self):
assert (self.url.add_query_params({'foo': ['bar', 'baz']}) ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&foo=bar&foo=baz#foo')
def test_set_query_param_adds_or_replaces_one_query_parameter(self):
assert (self.url.set_query_param('spam', 'ham') ==
'https://github.com/zacharyvoase/urlobject?spam=ham#foo')
def test_set_query_params_adds_or_replaces_multiple_query_parameters(self):
assert (self.url.set_query_params({'foo': 'bar'}, spam='ham') ==
'https://github.com/zacharyvoase/urlobject?foo=bar&spam=ham#foo')
def test_set_query_params_with_multiple_values_adds_or_replaces_the_same_parameter_multiple_times(self):
assert (self.url.set_query_params({'spam': ['bar', 'baz']}) ==
'https://github.com/zacharyvoase/urlobject?spam=bar&spam=baz#foo')
assert (self.url.set_query_params({'foo': ['bar', 'baz']}) ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&foo=bar&foo=baz#foo')
# Ensure it removes all appearances of an existing name before adding
# the new ones.
url = URLObject('https://github.com/zacharyvoase/urlobject?foo=bar&foo=baz#foo')
assert (url.set_query_params({'foo': ['spam', 'ham']}) ==
'https://github.com/zacharyvoase/urlobject?foo=spam&foo=ham#foo')
def test_del_query_param_removes_one_query_parameter(self):
assert (self.url.del_query_param('spam') ==
'https://github.com/zacharyvoase/urlobject#foo')
def test_del_query_params_removes_multiple_query_parameters(self):
url = URLObject('https://github.com/zacharyvoase/urlobject?foo=bar&baz=spam#foo')
assert (url.del_query_params(['foo', 'baz']) ==
'https://github.com/zacharyvoase/urlobject#foo')
def test_with_fragment_replaces_fragment(self):
assert (self.url.with_fragment('part') ==
'https://github.com/zacharyvoase/urlobject?spam=eggs#part')
def test_with_fragment_encodes_fragment_correctly(self):
assert (self.url.with_fragment('foo bar#baz') ==
'https://github.com/zacharyvoase/urlobject?spam=eggs#foo%20bar%23baz')
def test_without_fragment_removes_fragment(self):
assert (self.url.without_fragment() ==
'https://github.com/zacharyvoase/urlobject?spam=eggs')
示例2: render
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import add_query_param [as 别名]
def render(self, context):
kwargs = MultiValueDict()
for key in self.kwargs:
key = smart_str(key, 'ascii')
values = [value.resolve(context) for value in self.kwargs.getlist(key)]
kwargs.setlist(key, values)
if 'base' in kwargs:
url = URLObject.parse(kwargs['base'])
else:
url = URLObject(scheme='http')
if 'secure' in kwargs:
if convert_to_boolean(kwargs['secure']):
url = url.with_scheme('https')
else:
url = url.with_scheme('http')
if 'query' in kwargs:
query = kwargs['query']
if isinstance(query, basestring):
query = render_template_from_string_without_autoescape(query, context)
url = url.with_query(query)
if 'add_query' in kwargs:
for query_to_add in kwargs.getlist('add_query'):
if isinstance(query_to_add, basestring):
query_to_add = render_template_from_string_without_autoescape(query_to_add, context)
query_to_add = dict(decode_query(query_to_add))
for key, value in query_to_add.items():
url = url.add_query_param(key, value)
if 'scheme' in kwargs:
url = url.with_scheme(kwargs['scheme'])
if 'host' in kwargs:
url = url.with_host(kwargs['host'])
if 'path' in kwargs:
url = url.with_path(kwargs['path'])
if 'add_path' in kwargs:
for path_to_add in kwargs.getlist('add_path'):
url = url.add_path_component(path_to_add)
if 'fragment' in kwargs:
url = url.with_fragment(kwargs['fragment'])
if 'port' in kwargs:
url = url.with_port(kwargs['port'])
# sensible default
if not url.host:
url = url.with_scheme('')
# Convert the URLObject to its unicode representation
url = unicode(url)
# Handle escaping. By default, use the value of
# context.autoescape. This can be overridden by
# passing an "autoescape" keyword to the tag.
if 'autoescape' in kwargs:
autoescape = convert_to_boolean(kwargs['autoescape'])
else:
autoescape = context.autoescape
if autoescape:
url = escape(url)
if self.asvar:
context[self.asvar] = url
return ''
return url
示例3: get_url_path
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import add_query_param [as 别名]
def get_url_path(cls, system):
returned = URL("/api/rest/components")
if cls is not system.components.object_type:
returned = returned.add_query_param("type", "eq:{0}".format(cls.get_type_name()))
return returned
示例4: unauthorized_handler
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import add_query_param [as 别名]
def unauthorized_handler():
user_unauthorized.send(user_unauthorized.send(current_app._get_current_object()))
url = URLObject(login_url(login_manager.login_view, request.url))
prev_param = make_next_param(url.without_query(), request.referrer or "/")
return redirect(url.add_query_param("prev", prev_param).add_query_param("mode", "action"))
示例5: wrap_url
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import add_query_param [as 别名]
def wrap_url(self, url):
o_url = URLObject(url)
return o_url.add_query_param(settings.URLKEY_NAME, self.id)