首页  >  文章  >  后端开发  >  如何在 Python(包括 Django)中从 URL 中提取查询参数?

如何在 Python(包括 Django)中从 URL 中提取查询参数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-28 20:27:02641浏览

How to Extract Query Parameters from a URL in Python, Including Django?

从 URL 检索参数

问题:

给定一个带有查询参数的 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn