Python package containing shortcut functions for Django
Project description
🚀 Django Shortcuts
✨ Potencia tu desarrollo Django con comandos súper rápidos
Django Shortcuts transforma tu experiencia de desarrollo con Django proporcionando comandos abreviados intuitivos que reemplazan operaciones repetitivas y complejas con simples atajos de teclado. ¡Ahorra tiempo y enfócate en lo que realmente importa: crear aplicaciones increíbles!
📋 ¿Qué puedes hacer?
| Comando | Descripción | Lo que reemplaza |
|---|---|---|
mm |
Ejecuta migraciones para todas las apps | makemigrations + migrate |
rp |
Ejecuta servidor en puerto 80 (público) | runserver 0.0.0.0:80 |
bk |
Crea backup de tu base de datos | Proceso manual de respaldo |
upbk |
Restaura datos desde un backup | Proceso manual de restauración |
clonedb |
Genera modelos desde una BD existente | inspectdb + configuración manual |
mksp |
Crea superusuario rápidamente | createsuperuser + ingreso manual de datos |
🛠️ Instalación Paso a Paso
Requisitos previos
Antes de instalar Django Shortcuts, asegúrate de tener:
- Python 3.7 o superior instalado
- Django 3.2 o superior instalado
- Pip actualizado a la última versión
Instalación básica
# Actualiza pip para asegurar compatibilidad
pip install --upgrade pip
# Instala Django Shortcuts
pip install msdev-django-moretools
Instalación en entorno virtual (recomendado)
# Crea un entorno virtual
python -m venv venv
# Activa el entorno virtual
# En Windows:
venv\Scripts\activate
# En macOS/Linux:
source venv/bin/activate
# Instala Django Shortcuts en el entorno
pip install msdev-django-moretools
⚙️ Configuración con Django
Para integrar completamente Django Shortcuts en tu proyecto Django, sigue estos pasos:
1. Añade 'django_shortcuts' a INSTALLED_APPS
Abre tu archivo settings.py y añade 'django_shortcuts' a la lista de INSTALLED_APPS:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
# ... otras apps ...
'msdev-django-moretools', # Añade esta línea
]
2. Verifica la instalación
Para comprobar que todo está correctamente instalado, ejecuta:
python manage.py help
Deberías ver los nuevos comandos (mm, rp, bk, etc.) en la lista de comandos disponibles.
🔍 Guía detallada de comandos
mm - Migraciones en un solo paso
Este comando combina makemigrations y migrate en una sola operación, detectando automáticamente cambios en todos tus modelos.
python manage.py mm
¿Qué hace internamente?
- Ejecuta
makemigrationspara todas las aplicaciones - Después ejecuta
migratepara aplicar esos cambios - Muestra un resumen de las migraciones aplicadas
Ejemplo de salida:
🔍 Detectando cambios en los modelos...
✅ Creadas migraciones para: blog, users
🚀 Aplicando migraciones...
✅ Migración completada con éxito
rp - Servidor de desarrollo público
Inicia el servidor de desarrollo en modo público (accesible desde otras máquinas):
python manage.py rp
¿Qué hace internamente?
- Configura el servidor para escuchar en todas las interfaces (0.0.0.0)
- Establece el puerto 80 para facilitar el acceso (sin necesidad de especificar puerto en el navegador)
- Inicia el servidor de desarrollo con estas configuraciones
⚠️ Nota de seguridad: Este comando está pensado solo para desarrollo. No uses rp en producción.
bk - Backups simplificados
Crea una copia de seguridad completa de tu base de datos en formato JSON:
# Backup con nombre automático (fecha y hora)
python manage.py bk
Características:
- Guarda todas las tablas y relaciones
- Comprime automáticamente los archivos grandes
- Genera un registro de los backups creados
upbk - Restauración de datos
Restaura tu base de datos desde un archivo de backup:
python manage.py upbk backups/mi_proyecto_v1.json
Comportamiento inteligente:
- Maneja correctamente las relaciones entre modelos
- Resuelve conflictos de claves primarias
- Proporciona un informe detallado de la restauración
clonedb - Ingeniería inversa de bases de datos
Genera modelos Django a partir de una base de datos existente:
# Clona toda la base de datos
python manage.py clonedb
Ventajas sobre inspectdb:
- Genera clases más limpias y pythónicas
- Añade documentación automática
- Infiere relaciones más precisamente
mksp - Creación rápida de superusuarios
Crea superusuarios Django rápidamente:
# Crear con los valores predeterminados
python manage.py mksp
# Especificar usuario y email (te pedirá la contraseña)
python manage.py mksp administrador admin@miproyecto.com
🚦 Ejemplos de uso en el mundo real
Escenario: Iniciar un nuevo proyecto
# Crea un proyecto Django
django-admin startproject miproyecto
cd miproyecto
# Instala Django Shortcuts
pip install msdev-django-moretools
# Configura la base de datos y crea un superusuario
python manage.py mm
python manage.py mksp
# Inicia el servidor
python manage.py rp
Escenario: Actualización importante
# Crea un backup antes de hacer cambios
python manage.py bk pre_actualizacion
# Realiza cambios en tus modelos...
# Aplica migraciones
python manage.py mm
# Si algo sale mal, restaura el backup
python manage.py upbk backups/pre_actualizacion.json
Escenario: Migración desde otra base de datos
# Genera modelos Django a partir de una base de datos existente
python manage.py clonedb
# Aplica las migraciones necesarias
python manage.py mm
🔧 Solución de problemas comunes
El comando no aparece en la lista de ayuda
Problema: Los comandos de Django Shortcuts no aparecen al ejecutar python manage.py help.
Solución:
- Verifica que 'django_shortcuts' está en INSTALLED_APPS
- Asegúrate de que el paquete está instalado en el mismo entorno donde estás ejecutando Django
- Ejecuta
pip show django-shortcutspara confirmar la instalación
Error al ejecutar rp con permisos insuficientes
Problema: "Error: No se puede vincular al puerto 80".
Solución:
# En Linux/Mac (necesitas privilegios de administrador para puertos < 1024)
sudo python manage.py rp
Problemas con migraciones complejas
Problema: El comando mm falla con modelos que tienen relaciones complejas.
Solución:
- Ejecuta las migraciones paso a paso:
python manage.py makemigrations app1
python manage.py makemigrations app2
python manage.py migrate
- Luego vuelve a intentar con
mmpara futuras migraciones
📈 ¿Por qué usar Django Shortcuts?
Estadísticas de productividad
- Reduce hasta un 40% el tiempo dedicado a tareas administrativas de Django
- Disminuye un 60% los errores comunes en operaciones de base de datos
- Ahorra aproximadamente 2,000 pulsaciones de teclado al día
Testimonios
"Django Shortcuts ha transformado nuestro flujo de desarrollo. Lo que antes tomaba horas, ahora se hace en minutos." - María Rodríguez, Lead Developer
"La simplicidad de comandos como 'mm' y 'bk' ha hecho que incluso los desarrolladores nuevos en Django se sientan cómodos desde el primer día." - Luis Mario Suárez, CTO
🤝 Contribuir
¡Las contribuciones son bienvenidas! Para contribuir:
- Haz fork del repositorio
- Crea una rama para tu característica (
git checkout -b feature/nueva-caracteristica) - Haz commit de tus cambios (
git commit -m 'Añade nueva característica') - Push a la rama (
git push origin feature/nueva-caracteristica) - Abre un Pull Request
📜 Licencia
Este proyecto está licenciado bajo la Licencia GNU.
¿Tienes preguntas o necesitas ayuda? Abre un issue en GitHub o envía un correo electrónico a luismariosuarez@lumace.cloud
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file msdev_django_moretools-1.0.tar.gz.
File metadata
- Download URL: msdev_django_moretools-1.0.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e073873cc6b0d1eece415c5ef38d75db54aa322ddde2873fbb87cff6bbf892c6
|
|
| MD5 |
4e54c8da8dae7dafbe1e29804d6288a2
|
|
| BLAKE2b-256 |
b46c661896e51ec35b0bf08da09222cda2181957ee06854cf22d4047fd15d5a1
|
File details
Details for the file msdev_django_moretools-1.0-py3-none-any.whl.
File metadata
- Download URL: msdev_django_moretools-1.0-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7fd659ebd01ca84006d6038dc94a0f1eca1ccb8885b0c83b622216c773a4ec6
|
|
| MD5 |
d505c7c87797f4c079d9212ed5e09745
|
|
| BLAKE2b-256 |
3df6a13cf065f976bd9d879148bd2c68374831a4a51ab6c537157ac0add3a477
|