Django

Aangepaste Django-commando's

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

18 gespreksvragen·
Senior
1

Waar moet het bestand van een aangepast Django management command worden geplaatst om automatisch te worden gedetecteerd?

Antwoord

Aangepaste Django management commands moeten in de management/commands/ directory van een Django-applicatie worden geplaatst. Deze directory moet een __init__.py-bestand bevatten in zowel management/ als commands/. Django scant dit pad automatisch om beschikbare commando's te ontdekken. De Python-bestandsnaam wordt de naam van het commando dat via manage.py uitvoerbaar is.

2

Welke basisklasse moet worden gebruikt om een aangepast Django management command te maken?

Antwoord

BaseCommand is de standaard basisklasse die door django.core.management.base wordt geleverd voor het maken van aangepaste commando's. Het biedt de nodige infrastructuur: argument parsing, afhandeling van uitvoerkleuren, foutbeheer en integratie met manage.py. De handle()-methode moet worden geïmplementeerd om de commandologica te bevatten.

3

Hoe definieer je positionele argumenten in een aangepast Django management command?

Antwoord

De methode add_arguments() maakt het mogelijk om commandoargumenten te definiëren met de argparse-parser. Voor positionele argumenten gebruik je parser.add_argument('naam') zonder streepje-voorvoegsel. Je kunt nargs opgeven voor het aantal verwachte argumenten ('+' voor een of meer, '*' voor nul of meer). De argumenten zijn vervolgens toegankelijk via het options-dictionary in handle().

4

Welke methode moet worden gebruikt om een succesbericht met de juiste kleuren weer te geven in een Django-commando?

5

Hoe signaleer je een fout die de uitvoering van een Django-commando stopt met een niet-nul exit-code?

+15 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis