如何访问Django URL中的变量?

时间:2019-01-30 11:27:01

标签: django

我一直在尝试访问从lyrebird API获得的重定向中的变量,如下所示: http://website.com/auth/lyrebird#access_token=value1&token_type=bearer&state=value2 我无法通过GET或POST访问此access_token。 任何帮助表示赞赏。

编辑: 很抱歉,在发布问题之前,我必须进行了更深入的搜索。我发现url中的#是用于锚标记的,并且从未真正发送到服务器。 如果将来有人遇到相同的问题,这就是我所做的:

var hash = window.location.hash.substring(1); //将哈希值放入变量中,并删除#字符 window.location.replace('您的Django URL?hash ='+ hash);

我使用此脚本发送了回复。

3 个答案:

答案 0 :(得分:0)

可通过import vlc playlist = ['/path/to/song1.flac', '/path/to/song2.flac', 'path/to/song3.flac'] while True: for song in playlist: player = vlc.MediaPlayer(song) player.play() 对象访问查询字符串:

request

您可以在docs中了解它。

答案 1 :(得分:0)

您的网址格式不正确,应该是这样

http://website.com/auth/lyrebird?access_token=value1&token_type=bearer&state=value2

然后,您可以像

那样访问您的值
 state_value = request.query_params.get('state', None)

答案 2 :(得分:0)

通过request.get_full_path()获取完整路径,然后按以下方式对其进行解析:

from urllib.parse import urlparse, parse_qs
url ='http://website.com/auth/lyrebird#access_token=value1&token_type=bearer&state=value2'
fragment = urlparse(url).fragment
parse_qs(fragment)
{'access_token': ['value1'], 'state': ['value2'], 'token_type': ['bearer']}