質問:
クエリ パラメータを含む 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 固有のソリューションについては。
以上がDjango を含む Python で URL からクエリ パラメータを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。