Ogni forma della stringa di query recuperabile dall'oggetto richiesta del pallone come descritto in O'Reilly Flask Web Devleopment :
Da O'Reilly Flask Web Development , e come affermato da Manan Gouhari in precedenza, devi prima importare la richiesta:
from flask import request
request
è un oggetto esposto da Flask come variabile di contesto denominata (hai indovinato) request
. Come suggerisce il nome, contiene tutte le informazioni che il client ha incluso nella richiesta HTTP. Questo oggetto ha molti attributi e metodi che è possibile recuperare e chiamare, rispettivamente.
Ne hai parecchi request
attributi che contengono la stringa di query tra cui scegliere. Qui elencherò ogni attributo che contiene in qualche modo la stringa di query, nonché una descrizione dal libro O'Reilly di tale attributo.
Innanzitutto c'è args
"un dizionario con tutti gli argomenti passati nella stringa di query dell'URL". Quindi, se si desidera analizzare la stringa di query in un dizionario, si dovrebbe fare qualcosa del genere:
from flask import request
@app.route('/'):
queryStringDict = request.args
(Come altri hanno sottolineato, puoi anche utilizzare .get('<arg_name>')
per ottenere un valore specifico dal dizionario)
Poi, c'è l' form
attributo, che non non contiene la stringa di query, ma che è incluso nella parte di un altro attributo che fa comprendere la stringa di query che elencherò momentaneamente. Il primo, tuttavia, form
è "Un dizionario con tutti i campi del modulo inviati con la richiesta." Dico questo per dire questo: c'è un altro attributo del dizionario disponibile nell'oggetto richiesta pallone chiamato values
. values
è "Un dizionario che combina i valori in form
e args
". Recupero che sarebbe simile a questo:
from flask import request
@app.route('/'):
formFieldsAndQueryStringDict = request.values
(Ancora una volta, utilizzare .get('<arg_name>')
per ottenere un elemento specifico dal dizionario)
Un'altra opzione è query_string
"La porzione della stringa di query dell'URL, come valore binario non elaborato". Esempio di ciò:
from flask import request
@app.route('/'):
queryStringRaw = request.query_string
Quindi, come bonus aggiuntivo, c'è full_path
"Il percorso e le porzioni della stringa di query dell'URL". Di ejemplo:
from flask import request
@app.route('/'):
pathWithQueryString = request.full_path
Infine, url
"L'URL completo richiesto dal client" (che include la stringa di query):
from flask import request
@app.route('/'):
pathWithQueryString = request.url
Happy hacking :)