Utiliser async et await dans Flask

FlaskFlaskBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous guidera tout au long du processus d'utilisation de async et await dans Flask, un populaire framework web Python. Vous allez apprendre à définir des vues et des gestionnaires asynchrones, comprendre les implications de performance de l'utilisation de code asynchrone et explorer les tâches en arrière-plan dans Flask.

Note : Vous devez créer le fichier de code vous-même et l'exécuter dans l'environnement. Vous pouvez prévisualiser l'état du service Flask sur 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{{"Utiliser async et await dans Flask"}} flask/response_objects -.-> lab-136110{{"Utiliser async et await dans Flask"}} flask/application_object -.-> lab-136110{{"Utiliser async et await dans Flask"}} flask/useful_internals -.-> lab-136110{{"Utiliser async et await dans Flask"}} flask/blueprint_objects -.-> lab-136110{{"Utiliser async et await dans Flask"}} flask/command_line_interface -.-> lab-136110{{"Utiliser async et await dans Flask"}} end

Définition d'une vue asynchrone

Dans Flask, vous pouvez définir des vues comme des fonctions asynchrones en utilisant la syntaxe async def. Cela vous permet d'utiliser await pour effectuer des opérations asynchrones à l'intérieur de la fonction de vue.

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

Pour exécuter ce code, enregistrez-le dans un fichier Python (par exemple, app.py) et exécutez le fichier à l'aide du serveur de développement Flask :

flask run

Résumé

Dans ce laboratoire, vous avez appris à utiliser async et await dans Flask pour définir des vues et des gestionnaires asynchrones. Vous avez également exploré les implications de performance de l'utilisation de code asynchrone, les tâches en arrière-plan et l'utilisation de Quart comme alternative à Flask pour les bases de code lourdes en asynchrone. De plus, vous avez appris à propos de la compatibilité des extensions Flask avec les vues asynchrones et de la possibilité d'utiliser d'autres boucles d'événements dans Flask.