从URL中检索参数

12 浏览
0 Comments

从URL中检索参数

如何解析查询参数的值?例如,在以下网址中,我想要some_key 的值。

/some_path?some_key=some_value'

我正在使用Django;有没有request对象上的方法可以帮助我?

我尝试使用self.request.get(\'some_key\'),但是它并没有像我希望的那样返回值some_value

admin 更改状态以发布 2023年5月24日
0
0 Comments

我很惊讶这个解决方案还没有出现在这里。使用:

request.GET.get('variable_name')

这将从“GET”字典中“获取”变量,并返回“variable_name”值(如果存在),或者如果不存在则返回None对象。

0
0 Comments

这不仅仅适用于Django,而是适用于Python的一般情况。要获得Django具体的答案,请参见@jball037的此答案

Python 2:

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

Python 3:

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)

parse_qs返回一个列表。 [0]获取列表的第一个项,因此每个脚本的输出均为some_value

这是Python 3的'parse_qs'文档

0