問題:
給定一個有查詢參數的URL,如何擷取值的具體參數?例如,給定 URL '/some_path?some_key=some_value',您想要提取 'some_key' 的值。另外,如果使用 Django,請求物件中是否有方法來協助完成此任務?
使用 'self.request.get('some_key')' 時,不會傳回預期值 'some_value' 。如何解決這個問題?
答案:
雖然提取URL參數與Django沒有具體關係,但以下解決方案通常適用於Python:
Python 2 :
<code class="python">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</code>
Python 3:
<code class="python">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)</code>
在這兩種情況下, 'parse_qs' 傳回一個清單。使用“[0]”索引清單會檢索第一個元素,這是所需的值。
可選的 Django 解決方案:
請參閱 @jball037 提供的響應特定於 Django 的解決方案。
以上是如何在 Python(包括 Django)中從 URL 中提取查詢參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!