1

クエリ文字列が次のようなタイプの URL があります... ?

next=/contact/200/10626096&back%3DZHViYWkuZHViaXp6bGUubmxoL2NsYXNzaWZpZWQvYXV0b3M0eDRzL2Fjd>XJhL2NzeGVsLz95ZWFyX19ndGU9JmFkZGVkX19ndGU9JnNlbGxlcl90eXBlPSZpc19zZWFyY2g9MSZraWxvbWV0ZXJz>X19ndGU9JnByaWNlX19ndGU9JnBsYWNlc19faWRfX2luPUVudGVyK0xvY2F0aW9uJTI4cyUyOStIZXJlJnBsYWNlc19>faWRfX2luPSZ5ZWFyX19sdGU9MjAxMiZraWxvbWV0ZXJzX19sdGU9JmtleXdvcmRzPSZpc19iYXNpY19zZWFyY2hfd2>lkZ2V0PTAmcHJpY2VfX2x0ZT0%3D

request.META.get('HTTP_REFERER') これは現在のリファラー URL ではなく、使用できないため、バックエンド コードでこの URL を取得していますrequest.get_full_path

今はnextそれからの値が欲しいだけです/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 に答える