Todas las formas de la cadena de consulta recuperable del objeto de solicitud de matraz como se describe en O'Reilly Flask Web Devleopment :
Desde el desarrollo web O'Reilly Flask , y como dijo Manan Gouhari anteriormente, primero debe importar la solicitud:
from flask import request
request
es un objeto expuesto por Flask como una variable de contexto llamada (lo has adivinado) request
. Como su nombre lo indica, contiene toda la información que el cliente incluyó en la solicitud HTTP. Este objeto tiene muchos atributos y métodos que puede recuperar y llamar, respectivamente.
Tiene bastantes request
atributos que contienen la cadena de consulta para elegir. Aquí enumeraré cada atributo que contiene de alguna manera la cadena de consulta, así como una descripción del libro de O'Reilly de ese atributo.
Primero está args
cuál es "un diccionario con todos los argumentos pasados en la cadena de consulta de la URL". Entonces, si desea que la cadena de consulta se analice en un diccionario, haría algo como esto:
from flask import request
@app.route('/'):
queryStringDict = request.args
(Como otros han señalado, también puede usar .get('<arg_name>')
para obtener un valor específico del diccionario)
Luego, está el form
atributo, que no contiene la cadena de consulta, pero que se incluye en parte de otro atributo que sí incluye la cadena de consulta que enumeraré momentáneamente. Primero, sin embargo, form
es "Un diccionario con todos los campos de formulario enviados con la solicitud". Lo digo para decir esto: hay otro atributo de diccionario disponible en el objeto de solicitud de matraz llamado values
. values
es "Un diccionario que combina los valores en form
y args
". Recuperar eso se vería así:
from flask import request
@app.route('/'):
formFieldsAndQueryStringDict = request.values
(Nuevamente, use .get('<arg_name>')
para sacar un elemento específico del diccionario)
Otra opción es query_string
"La parte de la cadena de consulta de la URL, como un valor binario sin formato". Ejemplo de eso:
from flask import request
@app.route('/'):
queryStringRaw = request.query_string
Luego, como una ventaja adicional, existe full_path
cuál es "La ruta y las porciones de cadena de consulta de la URL". Por ejemplo:
from flask import request
@app.route('/'):
pathWithQueryString = request.full_path
Y finalmente, url
"La URL completa solicitada por el cliente" (que incluye la cadena de consulta):
from flask import request
@app.route('/'):
pathWithQueryString = request.url
Feliz pirateo :)