Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich Abfrageparameter aus einer URL in Python, einschließlich Django?

Wie extrahiere ich Abfrageparameter aus einer URL in Python, einschließlich Django?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 20:27:02634Durchsuche

How to Extract Query Parameters from a URL in Python, Including Django?

Parameter von einer URL abrufen

Frage:

Wie können Sie bei einer gegebenen URL mit Abfrageparametern den Wert abrufen? eines bestimmten Parameters? Wenn Sie beispielsweise die URL „/some_path?some_key=some_value“ angeben, möchten Sie den Wert von „some_key“ extrahieren. Wenn Sie Django verwenden, gibt es außerdem eine Methode im Anforderungsobjekt, die Sie bei dieser Aufgabe unterstützt?

Bei Verwendung von „self.request.get(‘some_key‘)‘ wird der erwartete Wert ‚some_value‘ nicht zurückgegeben . Wie kann dieses Problem gelöst werden?

Antwort:

Während das Extrahieren von URL-Parametern nicht speziell mit Django zusammenhängt, ist die folgende Lösung allgemein auf Python anwendbar:

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>

In beiden Fällen gibt 'parse_qs' eine Liste zurück. Durch Indizieren der Liste mit „[0]“ wird das erste Element abgerufen, das den gewünschten Wert darstellt.

Optionale Django-Lösung:

Beziehen Sie sich auf die Antwort von @jball037 für eine Django-spezifische Lösung.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Abfrageparameter aus einer URL in Python, einschließlich Django?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn