Maison > développement back-end > Tutoriel Python > Comment extraire les paramètres de requête d'une URL en Python, y compris Django ?

Comment extraire les paramètres de requête d'une URL en Python, y compris Django ?

Mary-Kate Olsen
Libérer: 2024-10-28 20:27:02
original
841 Les gens l'ont consulté

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

Récupération des paramètres d'une URL

Question :

Étant donné une URL avec des paramètres de requête, comment pouvez-vous récupérer la valeur d'un paramètre spécifique ? Par exemple, étant donné l'URL « /some_path?some_key=some_value », vous souhaitez extraire la valeur de « some_key ». De plus, si vous utilisez Django, existe-t-il une méthode dans l'objet de requête pour vous aider dans cette tâche ?

Lors de l'utilisation de 'self.request.get('some_key')', la valeur attendue 'some_value' n'est pas renvoyée . Comment ce problème peut-il être résolu ?

Réponse :

Bien que l'extraction des paramètres d'URL ne soit pas spécifiquement liée à Django, la solution suivante est généralement applicable à 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>
Copier après la connexion

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>
Copier après la connexion

Dans les deux cas, 'parse_qs' renvoie une liste. L'indexation de la liste avec '[0]' récupère le premier élément, qui est la valeur souhaitée.

Solution Django facultative :

Référez-vous à la réponse fournie par @jball037 pour une solution spécifique à Django.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal