1

我有一个类型的 url,其中查询字符串是这样的......?

接下来= /接触/10626096分之200&背面%3DZHViYWkuZHViaXp6bGUubmxoL2NsYXNzaWZpZWQvYXV0b3M0eDRzL2Fjd> XJhL2NzeGVsLz95ZWFyX19ndGU9JmFkZGVkX19ndGU9JnNlbGxlcl90eXBlPSZpc19zZWFyY2g9MSZraWxvbWV0ZXJz> X19ndGU9JnByaWNlX19ndGU9JnBsYWNlc19faWRfX2luPUVudGVyK0xvY2F0aW9uJTI4cyUyOStIZXJlJnBsYWNlc19> faWRfX2luPSZ5ZWFyX19sdGU9MjAxMiZraWxvbWV0ZXJzX19sdGU9JmtleXdvcmRzPSZpc19iYXNpY19zZWFyY2hfd2> lkZ2V0PTAmcHJpY2VfX2x0ZT0%3D

我在后端代码中使用这个 url,request.META.get('HTTP_REFERER') 因为这个是我的引用 url,而不是当前的,所以我不能使用request.get_full_path.

现在我只想要nextfrom 它的值,/contact/200/10626096但问题是我不能使用request.GET.get('next')它,因为它不是当前的 url。

我不想使用split('?next=')解决方案类型,因为我正在寻找更多的 Pythonic 解决方案,例如 request.GET.get('next')

4

1 回答 1

1
>>> from urlparse import parse_qs
>>> parse_qs('next=/contact/200/10626096&back%3DZHViYWkuZHViaXp6bGUubmxoL2NsYXNzaWZpZWQvYXV0b3M0eDRzL2FjdXJhL2NzeGVsLz95ZWFyX19ndGU9JmFkZGVkX19ndGU9JnNlbGxlcl90eXBlPSZpc19zZWFyY2g9MSZraWxvbWV0ZXJzX19ndGU9JnByaWNlX19ndGU9JnBsYWNlc19faWRfX2luPUVudGVyK0xvY2F0aW9uJTI4cyUyOStIZXJlJnBsYWNlc19faWRfX2luPSZ5ZWFyX19sdGU9MjAxMiZraWxvbWV0ZXJzX19sdGU9JmtleXdvcmRzPSZpc19iYXNpY19zZWFyY2hfd2lkZ2V0PTAmcHJpY2VfX2x0ZT0%3D')
{'next': ['/contact/200/10626096']}
于 2012-06-07T07:53:14.643 回答