proyectos ejemplos python flask query-string

python - ejemplos - ¿Cómo se obtiene una cadena de consulta en Flask?



django (4)

La URL completa está disponible como request.url , y la cadena de consulta está disponible como request.query_string .

Aquí hay un ejemplo:

from flask import request @app.route(''/adhoc_test/'') def adhoc_test(): return request.query_string

Para acceder a un parámetro conocido individual pasado en la cadena de consulta, puede usar request.args.get(''param'') . Esta es la forma "correcta" de hacerlo, que yo sepa.

ETA: antes de continuar, debe preguntarse por qué desea la cadena de consulta. Nunca tuve que tirar de la cadena en bruto: Flask tiene mecanismos para acceder a ella de forma abstracta. Debe usarlos a menos que tenga una razón convincente para no hacerlo.

No es obvio a partir de la documentación del matraz sobre cómo obtener la cadena de consulta. Soy nuevo, miré los documentos, no pude encontrar!

Asi que

@app.route(''/'') @app.route(''/data'') def data(): query_string=?????? return render_template("data.html")


Podemos hacer esto usando request.query_string.

Ejemplo:

Consideremos view.py

from my_script import get_url_params @app.route(''/web_url/'', methods=(''get'', ''post'')) def get_url_params_index(): return Response(get_url_params())

También lo hace más modular utilizando Flask Blueprints - http://flask.pocoo.org/docs/0.10/blueprints/

Consideremos que el primer nombre se pasa como parte de la cadena de consulta / web_url /? First_name = john

## here is my_script.py ## import required flask packages from flask import request def get_url_params(): ## you might further need to format the URL params through escape. firstName = request.args.get(''first_name'') return firstName

Como ve, esto es solo un pequeño ejemplo: puede obtener múltiples valores + formateos y usarlos o pasarlos al archivo de plantilla.


Werkzeug / Flask ya lo analizó todo para ti. No es necesario volver a hacer el mismo trabajo con urlparse:

from flask import request @app.route(''/'') @app.route(''/data'') def data(): query_string = request.query_string ## There is it return render_template("data.html")

La documentación completa de los objetos de solicitud y respuesta se encuentra en Werkzeug: http://werkzeug.pocoo.org/docs/wrappers/


from flask import request @app.route(''/data'') def data(): # here we want to get the value of user (i.e. ?user=some-value) user = request.args.get(''user'')