我有一个类型的url,其中查询字符串是这样的......?
下一= /接触/一千零六十二万六千零九十六分之二百&安培;背面%3DZHViYWkuZHViaXp6bGUubmxoL2NsYXNzaWZpZWQvYXV0b3M0eDRzL2Fjd> XJhL2NzeGVsLz95ZWFyX19ndGU9JmFkZGVkX19ndGU9JnNlbGxlcl90eXBlPSZpc19zZWFyY2g9MSZraWxvbWV0ZXJz> X19ndGU9JnByaWNlX19ndGU9JnBsYWNlc19faWRfX2luPUVudGVyK0xvY2F0aW9uJTI4cyUyOStIZXJlJnBsYWNlc19> faWRfX2luPSZ5ZWFyX19sdGU9MjAxMiZraWxvbWV0ZXJzX19sdGU9JmtleXdvcmRzPSZpc19iYXNpY19zZWFyY2hfd2> lkZ2V0PTAmcHJpY2VfX2x0ZT0%3D
我使用request.META.get('HTTP_REFERER')
在我的后端代码中获取此网址
因为这个是我的推荐人网址而不是当前版本所以我不能使用request.get_full_path
。
现在我只想要next
的值/contact/200/10626096
,但问题是我不能使用request.GET.get('next')
,因为它不是当前的网址。
我不想使用split('?next=')
类型的解决方案,因为我正在寻找更多的pythonic解决方案,例如request.GET.get('next')
答案 0 :(得分:1)
>>> from urlparse import parse_qs
>>> parse_qs('next=/contact/200/10626096&back%3DZHViYWkuZHViaXp6bGUubmxoL2NsYXNzaWZpZWQvYXV0b3M0eDRzL2FjdXJhL2NzeGVsLz95ZWFyX19ndGU9JmFkZGVkX19ndGU9JnNlbGxlcl90eXBlPSZpc19zZWFyY2g9MSZraWxvbWV0ZXJzX19ndGU9JnByaWNlX19ndGU9JnBsYWNlc19faWRfX2luPUVudGVyK0xvY2F0aW9uJTI4cyUyOStIZXJlJnBsYWNlc19faWRfX2luPSZ5ZWFyX19sdGU9MjAxMiZraWxvbWV0ZXJzX19sdGU9JmtleXdvcmRzPSZpc19iYXNpY19zZWFyY2hfd2lkZ2V0PTAmcHJpY2VfX2x0ZT0%3D')
{'next': ['/contact/200/10626096']}