Django

Commandes Django personnalisées

Management commands, BaseCommand, argument parsing, scheduling, cron jobs, automation

18 questions d'entretien·
Senior
1

Où placer le fichier d'une commande Django personnalisée pour qu'elle soit automatiquement détectée ?

Réponse

Les commandes Django personnalisées doivent être placées dans le répertoire management/commands/ d'une application Django. Ce répertoire doit contenir un fichier __init__.py dans management/ et dans commands/. Django scanne automatiquement ce chemin pour découvrir les commandes disponibles. Le nom du fichier Python devient le nom de la commande exécutable via manage.py.

2

Quelle classe de base utiliser pour créer une commande Django personnalisée ?

Réponse

BaseCommand est la classe de base standard fournie par django.core.management.base pour créer des commandes personnalisées. Elle fournit l'infrastructure nécessaire : parsing des arguments, gestion des couleurs de sortie, gestion des erreurs et intégration avec manage.py. La méthode handle() doit être implémentée pour contenir la logique de la commande.

3

Comment définir des arguments positionnels dans une commande Django personnalisée ?

Réponse

La méthode add_arguments() permet de définir les arguments d'une commande en utilisant le parser argparse. Pour les arguments positionnels, on utilise parser.add_argument('nom') sans préfixe tiret. On peut spécifier nargs pour le nombre d'arguments attendus ('+' pour un ou plusieurs, '*' pour zéro ou plusieurs). Les arguments sont ensuite accessibles via le dictionnaire options dans handle().

4

Quelle méthode utiliser pour afficher un message de succès avec les couleurs appropriées dans une commande Django ?

5

Comment signaler une erreur qui arrête l'exécution d'une commande Django avec un code de sortie non-zéro ?

+15 questions d'entretien

Maîtrise Django pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement