====== Commandes personnalisées ====== Doc: [[https://flask.palletsprojects.com/en/2.2.x/cli/#custom-commands]] Commande définie au niveau de l'application : import click from flask import Flask app = Flask(__name__) @app.cli.command("create-user") @click.argument("name") def create_user(name): ... Commande définie au niveau d'un Blueprint : import click from flask import Blueprint articles = Blueprint("articles", __name__) ... @articles.cli.command("import") @click.argument("filepath") def import_from_file(filepath): ... Selon qu'elle est définie au niveau de l'application ou d'un Blueprint, la commande s'appelle de la façon suivante : $ flask $ flask Exemple d'appel des commandes définies ci-dessus : $ flask create-user albert $ flask articles import /home/albert/fichier.txt ===== Liste des commandes personnalisées ===== Taper ''flask'' en ligne de commande affiche les commandes disponibles, aussi bien celles de Flask que les commandes custom : $ flask ... Commands: db Perform database migrations. articles <<< blueprint "articles" défini ci-dessus routes Show the routes for the app. run Run a development server. shell Run a shell in the app context. Taper ''flask articles'' affiche les différentes commandes disponibles dans le blueprint "articles" : $ flask articles ... Commands: import Pour mettre une description il suffit de l'écrire en documentation de la fonction correspondante. Exemple : @articles.cli.command("import") @click.argument("filepath") def import_from_file(filepath): """ Importe les articles depuis un fichier """ ...