Outils pour utilisateurs

Outils du site


dev:python:flask:demarrer_application

Flask : Démarrer l'application depuis la CLI

La commande flask permet notamment d'exécuter l'application sur un serveur de développement intégré au framework ou de démarrer un shell interactif dans le contexte de l'application.

Par défaut la commande tente d'importer un module ou un paquetage nommé app ou wsgi présent dans le répertoire courant. Une fois l'import réalisée le processus recherche :

  • une variable app ou application ;
  • une fonction create_app ou make_app désignée application factory dans la documentation FLASK.

Dans les cas ou les paquetages, modules, variables et fonctions n'utilisent pas ces noms par défaut, on devra fournir à la commande flask le moyen de lancer correctement l'application via l'option --app.

Dans sa forme complète, la valeur de l'option --app contient 3 parties :

  1. Une partie optionnelle qui permet de redéfinir le répertoire de travail ;
  2. le nom du fichier Python ou un chemin d'import ;
  3. Une dernière partie optionnelle indiquant le nom de l'instance de l'application Flask ou de l'application factory. Si le nom désigne une application factory des arguments peuvent également être fournis.

Pour ne pas avoir à systématiquement renseigner cet argument sur la ligne de commande on peut définir la variable d'environnement FLASK_APP ou utiliser un fichier .env (installer le paquetage python-dotenv)

Exemples

flask --app src/gcomp run

Change le répertoire de travail (entre dans le dossier src) puis charge le module ou paquetage gcomp

flask --app 'gcomp:create_app("dev")' shell

Importe le module ou paquetage gcomp puis utilise l'application factory create_app avec un argument dev.

FLASK_APP="src/gcomp" flask run
 
# equivalent 
export FLASK_APP="src/gcomp"
flask run

Ici on n'a pas utilisé l'option --app de la commande flask car une variable d'environnement fournit la valeur nécessaire.

Références

dev/python/flask/demarrer_application.txt · Dernière modification : 2025/07/27 09:26 de yoann