Automatizar tareas de Django con scripts

Automatizar tareas de Django con scripts

La programación puede ser una tarea compleja, especialmente cuando se trabaja con frameworks como Django. En este capítulo, aprenderás cómo crear un pequeño script en Windows para automatizar tareas comunes al desarrollar con Django, lo que te permitirá ahorrar tiempo y simplificar el flujo de trabajo.


Para los ejemplos, voy a utilizar el proceso de acceso a un entorno virtual y la ejecución del servidor de Django. Yo haré esto, pero no hay límites, solo tienes que adaptar los scripts a tus propósitos. Automatizar tareas para Django o cualquier otro entorno de trabajo, te diferencia mucho de quienes lo hacen manualmente, ya que ahorrarás mucho esfuerzo y tiempo.

Crear un archivo .bat para automatizar procesos de Django

Si cada vez que te vas a poner a trabajar con Django, estás ejecutando cada uno de los pasos en la consola, como activar el entorno virtual, cambiar al directorio del proyecto y ejecutar el servidor, sabrás lo repetitivo que puede ser. ¿No sería maravilloso tener un pequeño script que haga todo esto por nosotros? Pues para eso estamos programando.

Vamos a crear un archivo .bat en Windows que nos permitirá ejecutar estos tres pasos automáticamente. De esta manera, evitaremos tener los comandos escritos en una hoja de papel o en un bloc de notas, o incluso tener que memorizarlos.

Cuando trabajamos en un entorno de desarrollo como este, donde tenemos nuestro proyecto y nuestras aplicaciones, es recomendable tener una carpeta con diferentes scripts que automatizan tareas pesadas y repetitivas. Estos scripts pueden estar escritos en Python, batch (si estás en Windows), o bash (si estás en Linux), o cualquier otro lenguaje de programación.

En este caso, utilizaremos un archivo .bat para Windows. Creamos una nueva carpeta llamada "scripts" y dentro de ella creamos un nuevo archivo, por ejemplo, "inicio_servidor.bat". La puedes guardar donde quieras, yo la he puesto en la raíz del proyecto de Visual Studio Code (mira el vídeo si te queda cualquier duda con las rutas, ahí está todo el proceso).

En este archivo, podemos agregar comentarios con el comando "REM" para describir lo que hace cada paso del script.


El primer paso es activar el entorno virtual. Para hacer esto, utilizamos el comando "CALL" seguido de la ruta al entorno virtual. En mi caso, "entorno_de_pruebas_django". Asegúrate de usar el nombre correcto para tu entorno.

Después, necesitamos ingresar a la carpeta "scripts" que está dentro del entorno virtual. Aquí encontramos varios scripts preparados, incluido uno llamado "activate". Con nuestro script, estamos utilizando otro script que realiza sus propios pasos.

Una vez hecho esto, debemos realizar el siguiente paso, que es cambiar al directorio del proyecto. Utilizamos el comando "cd" seguido de la ruta al proyecto que queremos utilizar.

Por último, ejecutamos el servidor utilizando el comando "python manage.py runserver" o cualquier otra rutina de comandos que necesitemos repetir constantemente.

Este es el resultado:

rem Activa el entorno virtual
call entorno_de_pruebas_django\Scripts\activate

rem Cambia al directorio del proyecto
cd proyecto_basico

rem Ejecuta el servidor Django
python manage.py runserver

Guardamos los cambios en nuestro archivo .bat y lo probamos. Si estamos en la ruta correcta, podemos abrir la consola, ir a la carpeta "scripts" y ejecutar el script con el nombre del archivo, por ejemplo, "inicio_servidor.bat". Esto ejecutará automáticamente los pasos necesarios y el servidor se iniciará.

Si deseamos cerrar el servidor, simplemente presionamos "Ctrl+C" en la consola y se nos preguntará si queremos terminar el trabajo por lotes. Confirmamos y el servidor se cerrará.

Volver a la ruta inicial

Para evitar tener que escribir la ruta completa cada vez que queremos iniciar el servidor, podemos agregar el comando "cd .." en el script para volver al directorio inicial después de ejecutar los pasos anteriores.

Una mejora adicional que podemos hacer es utilizar el comando "start" para ejecutar el servidor en una nueva ventana en segundo plano, permitiendo que el script continúe sin detenerse en esa línea. Esto nos permite tener la consola libre para seguir trabajando.

rem Activa el entorno virtual
call entorno_de_pruebas_django\Scripts\activate

rem Cambia al directorio del proyecto
cd proyecto_basico

rem Ejecuta el servidor Django
start /B python manage.py runserver

rem Vuelve a la carpeta principal
cd ..

No te pierdas ningún capítulo del curso Máster en Python.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso django Entrada anterior [DJANGO] Aplicar estilos CSS
curso sql Entrada siguiente Subconsultas en SQL para principiantes