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

Mary-Kate Olsen
Freigeben: 2024-10-28 20:27:02
Original
721 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage