Como crear un CRUD con Django 2 y Bootstrap 4 – Parte 1 (Python 3.7)

7 minuto(s)

Demo

La base de todas las aplicaciones es el paradigma CRUD, mediante las acciones Create, Read, Update y Delete (Crear, Leer, Actualizar y Eliminar) puedes manipular los registros de una base de datos y luego crear funciones más avanzadas que las aplicaciones modernas tienen, vamos con el tutorial.

Capítulos

Plataformas como Instagram, Youtube, Facebook, Vimeo, etc. todo los gestionan con Bases de Datos haciendo uso de las acciones CRUD, en este tutorial aprenderás a crear un CRUD con Django 2.2 y la interface visual la haremos con Bootstrap 4, mencionar que estoy usando Python 3.7 y base de Datos MySQL.

Para este tutorial estoy usando Python 3.7 que ya trae consigo PIP que le dará soporte a tu consola de comandos para poder ejecutar tareas de instalación de librerías, extensiones y otras funciones dentro de Django.

Si no puedes ejecutar comandos con pip o de Python puede que necesites agregar la ruta de Python 3.7 al PATH en Windows, en el siguiente video te explico como agregarla

Entorno Virtual

NOTA: En todo proyecto es importante primero crear un entorno virtual para que tanto la versión de Python, Django y demás librerías se queden aisladas, ya que por ejemplis, si instalas una nueva versión de Python o Django e intentas correr este proyecto que vamos a crear, pues no va funcionar por la imcompatibilidad de versiones. Y si tenemos nuestro proyecto, siempre en un entorno virtual, pues lograremos que funcione con la misma versión de Python, Django y demás librerías con que fue creado el proyecto. 

Hay varios paquetes que nos permiten crear un entorno virtual en Django, puedes usar este paquete, para instalarlo ve a tu consola de comandos y ejecuta el siguiente comando:


Luego de ejecutar el comando ya tenemos instalado Virtualenv que nos permite crear un entorno virtual en Django 2.2

Como vamos a crear un proyecto independientemente debemos de crear una carpeta o directorio para desplegar nuestro proyecto con Django, puedes crear una carpeta con el nombre que desees, yo le llamaré miapp


Ahora accedo a mi directorio creado miapp y dentro de ella debemos de crear nuestro Entorno Virtual, abre tu consola de comandos y ejecuta el siguiente comando para crear uno


Al final del comando le asigne un nombre al entorno virtual, le puse env que son las iniciales de entorno virtual, tu puedes ponerle el nombre que desees.

Si revisas el directorio miapp puedes ver que se ha creado una carpeta con el nombre env que contiene los archivos y librerías del entorno virtual


Vamos a activar nuestro entorno virtual, para esto debemos de apuntar con el comando source a la carpeta Scripts y al comando activate, esta carpeta y comando se encuentran dentro de la carpeta env de nuestro entorno virtual que creamos hace un momento.

Abre tu consola de comandos y ejecuta el siguiente comando para activar el entorno virtual


Puedes ver que cuando el entorno virtual esta activado nos aparecerá entre paréntesis el nombre de nuestro entorno virtual (env).

Creación del Proyecto con Django

Para poder crear un proyecto con Django primero debemos de instalarlo, abre tu consola de comandos y ejecuta el siguiente comando para instalar Django


Terminada la instalación de Django, creamos un nuevo proyecto, le colocaré de nombre app, abre tu consola de comandos y ejecuta el siguiente comando


Ahora en el directorio de mi proyecto se ha creado un nuevo directorio con el nombre app (Yo le llamaré app, pero a ti te debe de aparecer el nombre que le asignaste durante la creación de tu proyecto) y dentro un conjunto de archivos base para poder desarrollar nuestro proyecto


Bien para verificar que hemos instalado creado un proyecto con Django, vamos a iniciar el servidor y correr el proyecto por defecto que Django nos crea, lo que hare es apuntar al archivo manage.py que se encuentra dentro de la carpeta app/ y ejecutar el comando runserver para arrancar el servidor con el proyecto, abre tu consola de comando y ejecuta el siguiente comando


Django ejecuta la aplicación en el puerto local 8000, es decir si accedes a https://localhost:8000/ debe de cargarte el proyecto creado por defecto con Django 2.2

Por último vamos a crear una nueva aplicación dentro de Django, no te confundas anteriormente creamos un proyecto llamado app y este proyecto puede contener muchos módulos o aplicaciones, vamos a crear una nueva aplicación llamada postres, abre tu consola de comandos y ejecuta el siguiente comando


Lo que hicimos fue apuntar al archivo manage.py que se encuentra dentro de la carpeta app de nuestro proyecto y le pasamos el comando startapp para crear el proyecto con el nombre postres

Ahora se ha creado un nuevo directorio llamado postres con diferentes archivos indispensables para desarrollar nuestro proyecto


Abre el archivo settings.py y registra la aplicación postres que hemos creado. Este archivo se encuentra en la carpeta app > app del proyecto


En el archivo settings.py ve a donde dice INSTALLED_APPS y registra la app postres

Base de Datos

Solo para la base de datos usaré  Xampp que trae consigo el motor de base de datos MySQL.

Empezaré creando la base de datos, la llamaremos productos y dentro de ella creare la tabla llamada postres, esta tabla va tener los campos id, nombre, precio, stock, img, created_at y updated_at.

El campo id que es Autoincrementable, se genera automáticamente al realizar la migración en Django.

Para crear las columnas de nuestra tabla postres, vamos a definir los campos que va tener nuestra tabla postres, abre el archivo llamado models.py que se encuentra en el directorio llamado también postres


Dentro del archivo models.py agregamos los siguientes campos para la tabla postres


Puedes ver que estamos definiendo los campos id, nombre, precio, stock, img, created_at y updated_at para nuestra tabla postres.

Para poder ejecutar migraciones en Django debes de configurar la base de datos en el archivo de configuración de Django llamado settings.py, este archivo se encuentra en la carpeta app > app del proyecto


Dentro del archivo settings.py agregaremos el soporte y conexión a la base de datos MySQL que trae Xampp, como usaré la base de datos MySQL, le colocaré el termino ‘default’ para indicarle a Django que MySQL será el motor que usaré como base de datos y debajo coloco el nombre de mi base de datos, usuario, password  y como opción le digo a Django que usaré el modo SQL tradicional


En Windows debemos de instalar un cliente MySQL para que Django pueda conectarse a MySQL.

Yo estoy trabajando con Windows 7 de 32 bytes, entonces debo de descargar el cliente (Windows x86 – 32 bytes) que es el cliente MySQL para la arquitectura de mi Windows, puedes descargar el cliente para tu Arquitectura de Windows en los siguientes enlaces:

Una vez que descargaste el archivo indicado para la arquitectura de tu sistema operativo ejecuta el siguiente comando


En este enlace puedes encontrar clientes MySQL para otras versiones de Windows. 

Puedes ver que despues del comando pip install colocamos el nombre completo del archivo que has descargado, no le cambies el nombre al archivo porque te puede dar errores, usa el archivo tal cual lo descargaste.

Ahora vamos a crear la migración de nuestra tabla postres, abre tu consola de comandos y ejecuta el siguiente comando


Paso seguido procederemos a crear la tabla postres en la base de datos, ejecuta el siguiente comando en tu consola de comandos


Bien si ingresas a phpMyAdmin en Xampp, te debe haber creado la tabla postres con los campos que le especificamos

Notas

  • Con las configuraciones iniciales que realizamos en esta primera parte del tutorial, ya podemos ahondar en la 2da parte del tutorial la creación de las vistas y el modelo para nuestro CRUD en Django 2.2
  • Los pasos mencionados en este tutorial pueden cambiar en un futuro, esto no depende de nosotros si no de las empresas que dan soporte a Django, Python y MySQL que suelen cambiar el orden y las opciones de sus tecnologías.
  • Durante el desarrollo de este CRUD he usado la librería Clear Cache para limpiar el caché de los archivos del proyecto en Django, es necesario que la instales para poder usar los archivos de este proyecto alojado en GitHub. El enlace a los archivos alojados en GitHub de este CRUD se encuentra al inicio de la parte Nro 4 de este tutorial, al lado del botón Demo.

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.