Première application Flask
Dans le chapitre précédent, nous avons installé Flask avec succès. Ensuite, nous pouvons créer une simple application Flask.
Tout d'abord, créez un fichier nommé app.py et ajoutez le contenu suivant :
Exemple ( app.py )
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
Exécutez l'application Flask depuis la ligne de commande :
python app.py
Vous verrez le serveur de développement Flask démarrer et afficher quelque chose comme ce qui suit :
... * Running on http://127.0.0.1:5000 Press CTRL+C to quit * Restarting with stat * Debugger is active! * Debugger PIN: 977-918-914 ...
Ouvrez le navigateur, visitez http://127.0.0.1:5000/, vous devriez voir le message "Hello, World!", indiquant que Flask a été installé et fonctionne avec succès.

Ne nommez jamais le fichierflask.py, cela entrerait en conflit avec la bibliothèque Flask elle-même et provoquerait une erreur d'importation.
Analyse du code :
-
from flask import Flask: Cette ligne de code provient de
flaskimporté depuis le moduleFlaskclass.FlaskLa classe est le cœur du framework Flask, utilisée pour créer des instances d'application Flask. -
app = Flask(__name__): Cette ligne de code crée une instance d'application Flask.
__name__est une variable Python spéciale, qui, lorsque le module est exécuté directement, est'__main__', lorsqu'il est importé par d'autres modules, est le nom du module. En passant__name__DonnerFlaskLe constructeur permet à l'application Flask de trouver et de charger les fichiers de configuration. -
@app.route('/'): Il s'agit d'un décorateur qui indique à Flask quelle URL doit déclencher la fonction ci-dessous. Dans cet exemple, il spécifie l'URL racine (c'est-à-dire la page d'accueil du site web).
-
def hello_world():: Cela définit une fonction nommée
hello_worldLa fonction qui sera appelée lorsque l'utilisateur visite l'URL racine. -
return 'Hello, World!': Cette ligne de code est
hello_worldLa valeur de retour de la fonction. Lorsque l'utilisateur visite l'URL racine, cette chaîne sera renvoyée au navigateur de l'utilisateur. -
if __name__ == '__main__':: Cette ligne de code est une vérification conditionnelle pour savoir si ce module est exécuté directement, plutôt qu'importé par d'autres modules. S'il est exécuté directement, le bloc de code suivant sera exécuté.
-
app.run(debug=True): Cette ligne de code appelle la méthode de l'instance d'application Flask
runméthode, démarre le serveur de développement intégré de Flask.debug=Trueparamètre active le mode débogage, ce qui signifie que l'application se rechargera automatiquement lorsque le code change, et fournit un débogueur lorsqu'une erreur se produit.
Si vous avez installépython-dotenv, vous pouvez créer dans le répertoire du projet le fichier.flaskenv, ce qui simplifie la commande :
# 文件路径:.flaskenv FLASK_APP=app FLASK_DEBUG=True

Après la configuration, exécutez directementflask run, c'est tout, pas besoin de spécifier à chaque fois les paramètres--app:
(.venv) $ flask run * Serving Flask app 'app' * Debug mode: on * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
Si vous nommez le fichierapp.pyouwsgi.py, Flask peut le découvrir automatiquement, et même--apppeut être omis. Mais le spécifier explicitement est une bonne habitude.
Mode débogage
Pendant le développement, il est recommandé d'activer le mode débogage, qui offre deux fonctionnalités importantes :
- Rechargement automatique: Après avoir modifié le code et enregistré, le serveur redémarre automatiquement, aucune opération manuelle nécessaire.
- Débogueur interactif: Lorsqu'une erreur se produit dans le code, des informations détaillées sur l'erreur et une pile d'appels sont affichées dans le navigateur.
Comment l'activer :
(.venv) $ flask --app app run --debug * Debug mode: on * Restarting with stat * Debugger is active! * Debugger PIN: 123-456-789
Avertissement de sécurité: Le débogueur interactif en mode débogage permet d'exécuter du code Python arbitraire dans le navigateur. Bien qu'il soit protégé par un code PIN,N'activez jamais le mode débogage dans un environnement de production。
Comparaison des méthodes d'exécution
Outre la commandeflask run, vous verrez également une autre façon de lancer :
Exemple
if __name__ == "__main__":
app.run(debug=True)
Ensuite, utilisezpython app.pypour exécuter.
| Comment exécuter | Avantages | Inconvénients |
|---|---|---|
| flask run | Prend en charge les arguments de ligne de commande (--host, --port, --debug) avec une configuration flexible ; charge automatiquement .flaskenv | Il faut retenir les paramètres de commande |
| python app.py | Simple et intuitif | Inflexible, le mode debug nécessite de modifier le code ; Flask ne le recommande officiellement pas |
Flask recommande officiellement d'utiliser la commandeflask run. Si vous écrivez dans le codeapp.run()tout en utilisant aussiflask run, Flask ignorera intelligemment l'appelapp.run()et affichera un avertissement en texte jaune.
Ajoutez plus de contenu à la réponse
Les fonctions de vue peuvent renvoyer non seulement des chaînes simples, mais aussi du contenu HTML :
Exemple
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
# Renvoie du HTML multiligne, Flask définit automatiquement Content-Type sur text/html
return """
<h1>Bienvenue dans le tutoriel Flask EXAMPLE</h1>
<p>Ceci est une application web construite avec Flask.</p>
<ul>
<li>Apprendre le système de routage</li>
<li>Apprendre le rendu de gabarits</li>
<li>Apprendre les opérations de base de données</li>
</ul>
"""
Visitez http://127.0.0.1:5000/, la sortie est la suivante :

Bien sûr, écrire du HTML directement dans le code Python deviendra rapidement difficile à maintenir. Dans les chapitres suivants, nous présenterons comment utiliser des gabarits pour séparer le HTML du code Python.
autres extensions