
Comandos personalizados de Django
Management commands, BaseCommand, parsing de argumentos, scheduling, cron jobs, automatización
1¿Dónde se debe colocar el archivo de un management command personalizado de Django para que sea detectado automáticamente?
¿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?
¿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?
¿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().
¿Qué método se debe usar para mostrar un mensaje de éxito con los colores apropiados en un comando Django?
¿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
Otros temas de entrevista Django
Fundamentos de Python
Python orientado a objetos
Fundamentos de Django
Models Django - Fundamentos
Vistas de Django
Plantillas Django
Formularios Django
QuerySets avanzados
Autenticación en Django
Middleware de Django
Django Admin
Django REST Framework
Señales de Django
Carga de archivos
Caché de Django
Sesiones de Django
Email en Django
Testing en Django
Seguridad de Django
Despliegue de Django
Django ORM avanzado
Rendimiento de Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django en un ecosistema de microservicios
Internacionalización en Django
Patrones de Diseño en Django
Django Async y ASGI
Settings y configuración de producción
Observabilidad y monitoreo
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