问题:
给定一个带有查询参数的 URL,如何检索值的具体参数?例如,给定 URL '/some_path?some_key=some_value',您想要提取 'some_key' 的值。另外,如果使用 Django,请求对象中是否有方法来协助完成此任务?
使用 'self.request.get('some_key')' 时,不会返回预期值 'some_value' 。如何解决这个问题?
答案:
虽然提取URL参数与Django没有具体关系,但以下解决方案通常适用于Python:
Python 2:
<code class="python">import urlparse url = 'https://www.example.com/some_path?some_key=some_value' parsed = urlparse.urlparse(url) captured_value = urlparse.parse_qs(parsed.query)['some_key'][0] print captured_value</code>
Python 3:
<code class="python">from urllib.parse import urlparse from urllib.parse import parse_qs url = 'https://www.example.com/some_path?some_key=some_value' parsed_url = urlparse(url) captured_value = parse_qs(parsed_url.query)['some_key'][0] print(captured_value)</code>
在这两种情况下, 'parse_qs' 返回一个列表。使用“[0]”索引列表会检索第一个元素,这是所需的值。
可选的 Django 解决方案:
请参阅 @jball037 提供的响应特定于 Django 的解决方案。
以上是如何在 Python(包括 Django)中从 URL 中提取查询参数?的详细内容。更多信息请关注PHP中文网其他相关文章!