Como Crear Un CRUD con Django 5 – Parte 3

6 minuto(s)

Demo

Anteriormente, creamos nuestro modelo para la tabla jugos y creamos su migración con los campos correspondientes.

La tabla jugos tiene los campos nombre, precio, stock, img, created_at y updated_at, es importante recordar que el campo id, la misma base de datos lo genera automáticamente, cada vez que un registro es insertado en la tabla jugos

En esta tercera parte continuaremos con la creación de la aplicación jugos para hacer en ella nuestras tareas CRUD, vamos con ello.

Partes

Django funciona con varias bases de datos
Parte del proceso de creación del sistema CRUD, es conectarla a una base de datos

Para poder cargar las vistas HTML en el navegador, necesitamos crear vistas genéricas nativas de Django, veamos como hacerlo.

Creación de Vistas Genéricas

El framework Django funciona sobre la arquitectura MTV (Model Template View) que traducido al español significa Modelo Plantilla Vista.

Al crear este proyecto, Django nos generó un archivo llamado views.py en donde podemos definir las vistas y otras tares para nuestro proyecto.

Django nos brinda vistas genéricas de su propio core, estas vistas genéricas nos permiten realizar de manera ágil ciertas tareas en nuestro proyecto sin escribir mucho código.

Las tareas del sistema CRUD serán Create, Read, Update y Delete, entonces haremos uso de las siguientes vistas genéricas:

  • ListView (Para listar todos los registros de la tabla jugos en la vista principal)
  • DetailView (Para leer un registro)
  • CreateView (Para crear un registro)
  • UpdateView (Para actualizar un registro)
  • DeleteView (Para eliminar un registro)

Para definir las vistas genéricas, abro el archivo llamado views.py que se encuentra en crud-django5 > cruddjango5 > jugos > views.py


Dentro de archivo views.py instanciamos las vistas genéricas de Django y también el modelo Jugos el cual configuramos dentro del archivo models.py en la segunda parte de este tutorial:


Paso seguido, instancio 3 utilidades necesarias para este proyecto: reverse, messages y forms.

En el código he colocado comentarios para explicar que hace cada una de estas utilidades:


Ahora vamos a crear 5 clases para poder usar las vistas genéricas de Django, estas son: ListView, DetailView, CreateView, UpdateView y DeleteView.

Las escribiremos una por una para mantener un orden a continuación.

Listar Registros

Esta vista nos servirá para mostrar en una tabla HTML en la página principal, todos los registros almacenados en la tabla jugos.

Voy a crear una clase con el nombre ListarJugos la cual usará la vista genérica ListView:


La vista genérica anterior solo nos permite listar los registros en la página principal.

También tenemos que crear las vistas para las tareas CRUD (CRUD son Create, Read, Update y Delete).

Crear (Create)

Para esta vista genérica creo una clase con el nombre CrearJugo, esta clase usará la vista genérica CreateView en donde mostraremos un formulario para crear un nuevo registro o jugo, en el código colocare unos comentarios que explican para que sirve cada línea del código:

Leer (Read)

Para esta vista genérica creo una clase con el nombre DetalleJugo que usará la vista genérica DetailView la cual se encargará de mostrar los detalles de un jugo o registro:

Actualizar (Update)

Para esta vista genérica creo una clase con el nombre ActualizarJugo que usará la vista genérica UpdateView, en esta vista mostraremos un formulario para actualizar un jugo o registro, obviamente de la Base de Datos.

Asimismo en el código colocare unos comentarios que explican para que sirve cada línea del código:

Eliminar (Delete)

Para esta última vista genérica, crearé una clase con el nombre EliminarJugo que hará uso de la vista genérica DeleteView, esta vista la usaremos para eliminar un registro o jugo de nuestra base de datos, específicamente de la tabla jugos:


Acá te dejo el código completo del archivo views.py:


Hasta aquí hemos creado las clases para las vistas genéricas que nos servirán para mostrar las vistas HTML del sistema CRUD.

Ten Paciencia, lo que quiero es que conozcas bien como se crea este proyecto y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.

Nota (s)

  • En la siguiente parte de este tutorial, crearé las rutas, organizaremos nuestra carpeta /templates en donde colocaremos las vistas de las páginas HTML, desplegaremos Bootstrap y otra utilidad necesaria para nuestro sistema CRUD.
  • Los pasos y comandos mencionados en este tutorial pueden cambiar en un futuro, esto no depende de nosotros si no de las empresas que dan soporte a Django y Python que suelen cambiar el orden y las opciones de sus tecnologías.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.

 

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