Python Flask est un microframework permettant de créer des applications Web en Python.
Il s'agit d'un cadre très flexible et personnalisable qui facilite l'apprentissage. En conséquence, il s’agit d’un choix populaire lors de la création de serveurs Web. Cet article présente Python Flask : qu'est-ce que c'est, comment il se compare à d'autres frameworks et comment créer une application de base en Python.
What is Flask?

Flacon est un framework pour créer des serveurs Web en Python. Contrairement à d’autres frameworks, il n’oblige pas le développeur à se conformer à une structure de répertoires particulière.
De plus, il est sans opinion, vous permettant d'utiliser les outils que vous préférez pour effectuer des actions telles que la connexion à une base de données et la validation des entrées de formulaire.
Comme mentionné, Flask est utilisé pour créer des serveurs Web. Un serveur Web est un logiciel qui répond aux requêtes HTTP avec les données et fichiers appropriés.
Flask vs. Other Frameworks
Cette section comparera brièvement Flask à deux autres frameworks populaires : Django et Fast API. Nous aborderons les avantages et les limites de l'utilisation de Flask par rapport aux autres frameworks.
Flask contre Django
Flask est un micro-framework léger. Il offre aux développeurs simplicité et flexibilité, vous permettant de construire au fur et à mesure. Toutefois, cela signifie que vous devez effectuer beaucoup de travail vous-même.
D’un autre côté, Django est un framework « batteries incluses » qui est livré avec de nombreux outils préconfigurés. Cela vous permet de construire et d’expédier plus rapidement. Cependant, Django n’est pas très flexible et sa courbe d’apprentissage est plus abrupte.
En conséquence, Flask est utilisé pour les projets de petite et moyenne taille, tandis que Django est utilisé pour les projets plus grands et plus complexes.
A lire également: Différences entre Flask et Django
Flacon contre FastAPI
FastAPI est un framework relativement nouveau pour créer des API en Python. C'est rapide et facile à utiliser. Il fournit une surveillance intégrée en tant que fonctionnalité. Cependant, il s’agit d’un nouveau cadre avec un écosystème et une communauté relativement petits. De plus, son utilisation est limitée aux API.
En revanche, Flask est plus polyvalent car il peut être utilisé à la fois pour les API et le rendu de fichiers statiques. C’est léger et relativement facile. Cependant, il est plus lent que FastAPI.
Flask est mieux adapté aux applications Web dans lesquelles vous devez restituer du HTML, tandis que FastAPI doit être utilisé pour créer des API.
A lire également: FastAPI vs Flask : lequel des deux vous convient le mieux ?
How to Create an Application in Flask
Dans cette section, nous allons créer une application Flask simple pour afficher certains HTML et fournir des données via une API. Le but n’est pas de fournir un didacticiel complet sur Flask. L'objectif est plutôt de vous montrer brièvement à quoi ressemblerait la création d'une application Flask.
Pré-requis
Pour suivre ce tutoriel, vous devez comprendre Python 3. De plus, une connaissance de HTTP serait utile, bien que non obligatoire.
Pour créer une application dans Flask, vous devez d'abord installer Python. Si vous avez besoin d'un guide sur la façon de procéder, voici une vidéo pour vous guider :
Créer un environnement virtuel
Tout d’abord, créez un dossier de projet pour l’application. J'exécute mes commandes dans Bash Terminal ; par conséquent, je crée un dossier en utilisant la commande suivante :
mkdir flask-tut
Ensuite, naviguez dans le dossier à l'aide de la commande :
cd flask-tut
Après avoir navigué dans le dossier, créez un environnement virtuel à l'aide de cette commande. Cela garantit que les dépendances que nous installerons n'entrent pas en conflit avec les dépendances d'autres projets.
python3 -m venv venv
Cela devrait créer un venv
dossier, que vous pouvez voir avec la commande :
ls

Activer l'environnement virtuel
L'activation d'un environnement virtuel est simple. À l'aide du terminal Bash, saisissez la commande :
source venv/bin/activate
L'invite de votre terminal devrait changer à partir de ceci $
à cette (venv) $
.

Pour plus d'informations, voici un article sur environnements virtuels en Python.
Installer le flacon
Avec un environnement virtuel, nous pouvons procéder à l'installation de Flask. Pour cela, nous utiliserons pip :
pip install Flask
Cela devrait télécharger certains fichiers et installer des dépendances.

Servir du HTML
Ensuite, nous pouvons commencer à travailler sur main.py
déposer. Ce fichier sera le point d'entrée de l'application.
touch main.py
Après avoir créé le fichier main.py, ouvrez-le avec votre éditeur préféré et ajoutez le code suivant :
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return '<h1>Hello from Flask!</h1>'
Dans l'extrait de code ci-dessus, nous avons commencé par importer la classe Flask. Ensuite, nous avons instancié la classe Flask, en passant dans le __name__
variable. Il s'agit d'une variable intégrée stockant le nom du module actuel. Flask en a besoin pour savoir où trouver les fichiers. Nous avons stocké l'instance de Flask dans la variable app.
Ensuite, nous avons créé une fonction appelée index. Cette fonction renvoie le HTML que nous souhaitons afficher à l'utilisateur. Avant la définition de la fonction, nous avons utilisé le @app.route décorateur. Ce décorateur convertit une fonction régulière en fonction de vue Flask. Cela signifie que la valeur de retour de la fonction sera convertie en réponse HTML.
Pour exécuter l'application, nous utilisons la commande :
flask --app main run
L'indicateur –app spécifie où se trouve l'application. Dans ce cas, dans main.py. Le serveur devrait commencer à fonctionner.

Et si vous ouvrez le navigateur sur http://localhost:5000 ou http://127.0.0.1:5000, vous devriez voir un h1 :

Écrire tout notre HTML dans notre code Python serait généralement une mauvaise chose. Idéalement, nous voudrions séparer le Python du HTML. La section suivante examinera comment servir des fichiers HTML autonomes.
Servir un fichier HTML
Dans cette section, nous allons écrire le code pour servir un fichier index.html pour notre site Web. Commençons par créer le fichier index.html. Nous allons créer ce fichier dans le dossier des modèles car c'est là que Flask recherche notre modèle HTML.
touch template/index.html
Ensuite, ouvrez le fichier à l'aide de votre éditeur préféré et ajoutez le code suivant :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Flask Website</title>
</head>
<body>
<h1>Hello from Flask!</h1>
</body>
</html>
Ensuite, rouvrez le fichier main.py que nous avons créé précédemment. Ajoutez ensuite l'import suivant en haut, juste après l'import Flask :
from flask import render_template
La fonction render_template que nous venons d'importer nous permet de servir des modèles HTML. Pour restituer un fichier HTML, nous modifions la fonction index pour qu'elle ressemble à ceci :
@app.route("/")
def index():
return render_template('index.html')
Arrêtez le serveur (Ctrl + C) et redémarrez-le à l'aide de la commande suivante :
flask --app main run
Rechargez la fenêtre du navigateur et vous devriez voir ce qui suit.

Dans cet exemple, nous affichons une page HTML statique. Avec Flask, vous pouvez également afficher des modèles en créant des modèles HTML et en fournissant des données. Ces modèles suivent la syntaxe Jinja. Nous n'aborderons pas cela ici par souci de brièveté, mais je relierai quelques bonnes ressources pour apprendre Flask plus tard.
Création d'une route API
L'affichage du contenu HTML est l'une des fonctions des applications Web. L'autre consiste à transmettre des données via une route API. Dans Flask, il est également facile de configurer des routes API. Ajoutez ce code au fichier main.py pour créer une route API sur « /data ».
@app.route('/data')
def data():
return { "status": "OK", "msg": "Hello from Flask API" }
Si une fonction renvoie un dict ou une liste, la valeur est convertie en JSON et envoyée en réponse. Si vous redémarrez le serveur et ouvrez http://localhost:5000/data, vous devriez voir ce qui suit :

Resources to Learn Flask
❇️Le Documentation du flacon est excellent pour apprendre. Il est bien structuré, clair et constitue probablement la ressource la plus fiable pour apprendre Flask.
❇️ freeCodeCamp a également une superbe vidéo YouTube sur Flacon. freeCodeCamp est un nom connu pour les ressources d'apprentissage gratuites mais de grande qualité.
❇️ Ceci Cours Udemy est un bon moyen d'apprendre à créer des API de niveau entreprise dans Flask. Il couvre des outils tels que Flask-SQLALchemy et Flask-Smorest.
Conclusion
Cet article était une brève introduction à Python Flask. Nous avons expliqué de quoi il s'agissait, l'avons comparé à d'autres frameworks Web et créé une application simple. Enfin, j'ai lié des ressources pour un apprentissage ultérieur.
Ensuite, consultez comment sécuriser une API Flask REST avec un jeton Web JSON.
-
Développeur web full stack et rédacteur technique. En train d'apprendre l'IA.
-
Rashmi a plus de 7 ans d'expertise dans la gestion de contenu, le référencement et la recherche de données, ce qui en fait une professionnelle très expérimentée. Elle a une solide formation académique et a fait son baccalauréat et sa maîtrise en applications informatiques…. lire la suite