Django

Comandos personalizados de Django

Management commands, BaseCommand, parsing de argumentos, scheduling, cron jobs, automatización

18 preguntas de entrevista·
Senior
1

¿Dónde se debe colocar el archivo de un management command personalizado de Django para que sea detectado automáticamente?

Respuesta

Los management commands personalizados de Django deben colocarse en el directorio management/commands/ de una aplicación Django. Este directorio debe contener un archivo __init__.py tanto en management/ como en commands/. Django escanea automáticamente esta ruta para descubrir los comandos disponibles. El nombre del archivo Python se convierte en el nombre del comando ejecutable a través de manage.py.

2

¿Qué clase base se debe usar para crear un management command personalizado de Django?

Respuesta

BaseCommand es la clase base estándar proporcionada por django.core.management.base para crear comandos personalizados. Provee la infraestructura necesaria: parsing de argumentos, manejo de colores de salida, gestión de errores e integración con manage.py. El método handle() debe implementarse para contener la lógica del comando.

3

¿Cómo definir argumentos posicionales en un management command personalizado de Django?

Respuesta

El método add_arguments() permite definir los argumentos de un comando usando el parser argparse. Para argumentos posicionales, se usa parser.add_argument('nombre') sin prefijo de guion. Se puede especificar nargs para el número de argumentos esperados ('+' para uno o más, '*' para cero o más). Los argumentos luego son accesibles a través del diccionario options en handle().

4

¿Qué método se debe usar para mostrar un mensaje de éxito con los colores apropiados en un comando Django?

5

¿Cómo señalar un error que detiene la ejecución de un comando Django con un código de salida distinto de cero?

+15 preguntas de entrevista

Domina Django para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis