La création de commandes en mode console

manage.py permet d’exécuter un certain nombre de commandes, runserver, shell, syncdb, migrate, etc. Les développeurs Django ont la possibilité d’enrichir la liste des commandes disponibles en ajoutant les commandes de leur application.

À quoi cela sert-il ? Un site peut avoir à exécuter périodiquement certaines opérations de vérification ou de nettoyage, pouvoir les lancer sous la forme d’une commande (d’un script) ou pouvoir les automatiser en les installant dans la crontab d’UNIX ou son équivalent Windows (tâches programmées).

Pour cela il faut créer un répertoire management/commands à votre application. Django enregistrera automatiquement les commandes définies, c’est-à-dire les modules de ce répertoire qui ne commencent pas par le caractère « _ » (underscore). Vous devez donc respecter la structure suivante de fichiers pour votre projet :


mon_application/  
    __init__.py  
    admin.py  
    models.py  
    management/  
        __init__.py  
        commands/  
            __init__.py  
            _ne_pas_charger.py 
            archiver.py  
   views.py 
 

Dans cet exemple, la commande « archiver »...

Pour consulter la suite, découvrez le livre suivant :
couv_EIDJA.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
La sécurité
Suivant
Les exceptions