| |
| dev:python:flask:demarrer_application [2025/07/27 09:15] – créée yoann | dev:python:flask:demarrer_application [2025/07/27 09:26] (Version actuelle) – yoann |
|---|
| ====== Flask : Démarrer l'application depuis la CLI ====== | ====== 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é ou de démarrer un shell interactif dans le contexte de l'application. | 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 : | 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 : |
| |
| Dans sa forme complète, la valeur de l'option %%--app%% contient 3 parties : | Dans sa forme complète, la valeur de l'option %%--app%% contient 3 parties : |
| - Une partie optionnelle qui permet de définir le répertoire de travail ; | - Une partie optionnelle qui permet de redéfinir le répertoire de travail ; |
| - Un fichier Python ou un chemin d'import ; | - le nom du fichier Python ou un chemin d'import ; |
| - Une 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 être également transmis. | - 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) | 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) |
| |
| |
| <code bash> | |
| </code> | |
| |
| ===== Exemples ===== | ===== Exemples ===== |
| |
| Importe le module ou paquetage gcomp puis utilise l'application factory ''create_app'' avec un argument ''"dev"''. | Importe le module ou paquetage gcomp puis utilise l'application factory ''create_app'' avec un argument ''"dev"''. |
| | |
| | <code bash> |
| | FLASK_APP="src/gcomp" flask run |
| | |
| | # equivalent |
| | export FLASK_APP="src/gcomp" |
| | flask run |
| | </code> |
| | |
| | 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 ===== | ====== Références ===== |
| |
| * [[https://flask.palletsprojects.com/en/stable/cli/#application-discovery|Documentation de la CLI Flask (palletsprojects.com)]] | * [[https://flask.palletsprojects.com/en/stable/cli/#application-discovery|Documentation de la CLI Flask (palletsprojects.com)]] |