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!