Usando async y await en Flask

FlaskFlaskBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica te guiará a través del proceso de uso de async y await en Flask, un popular marco web de Python. Aprenderás cómo definir vistas y manejadores asincrónicos, entender las implicaciones de rendimiento del uso de código asincrónico y explorar tareas en segundo plano en Flask.

Nota: Debes crear el archivo de código por ti mismo y ejecutarlo en el entorno. Puedes previsualizar el estado del servicio Flask en Web 5000.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL flask(("Flask")) -.-> flask/DataHandlingGroup(["Data Handling"]) flask(("Flask")) -.-> flask/CoreConceptsGroup(["Core Concepts"]) flask(("Flask")) -.-> flask/DevelopmentToolsGroup(["Development Tools"]) flask/DataHandlingGroup -.-> flask/incoming_request_data("Incoming Request Data") flask/DataHandlingGroup -.-> flask/response_objects("Response Objects") flask/CoreConceptsGroup -.-> flask/application_object("Application Object") flask/CoreConceptsGroup -.-> flask/useful_internals("Useful Internals") flask/DevelopmentToolsGroup -.-> flask/blueprint_objects("Blueprint Objects") flask/DevelopmentToolsGroup -.-> flask/command_line_interface("Command Line Interface") subgraph Lab Skills flask/incoming_request_data -.-> lab-136110{{"Usando async y await en Flask"}} flask/response_objects -.-> lab-136110{{"Usando async y await en Flask"}} flask/application_object -.-> lab-136110{{"Usando async y await en Flask"}} flask/useful_internals -.-> lab-136110{{"Usando async y await en Flask"}} flask/blueprint_objects -.-> lab-136110{{"Usando async y await en Flask"}} flask/command_line_interface -.-> lab-136110{{"Usando async y await en Flask"}} end

Definiendo una vista asincrónica

En Flask, puedes definir vistas como funciones asincrónicas utilizando la sintaxis async def. Esto te permite utilizar await para realizar operaciones asincrónicas dentro de la función de vista.

@app.route("/get-data")
async def get_data():
    data = await async_db_query(...)
    return jsonify(data)

Para ejecutar este código, guárdalo en un archivo de Python (por ejemplo, app.py) y ejecuta el archivo utilizando el servidor de desarrollo de Flask:

flask run

Resumen

En esta práctica, aprendiste cómo utilizar async y await en Flask para definir vistas y manejadores asincrónicos. También exploraste las implicaciones de rendimiento del uso de código asincrónico, tareas en segundo plano y el uso de Quart como alternativa a Flask para bases de código con gran carga asincrónica. Además, aprendiste sobre la compatibilidad de las extensiones de Flask con vistas asincrónicas y la posibilidad de utilizar otros bucles de eventos en Flask.