Los modelos MVC y MVT con Django

Los modelos MVC y MVT con Django

Django se basa en el patrón de diseño MVT (Modelo-Vista-Plantilla), una variación del conocido MVC (Modelo-Vista-Controlador). En este artículo te explicaré qué son estos patrones de diseño, cómo se aplican en Django y qué ventajas ofrecen para el desarrollo web.


app django mvt

El modelo MVC

El patrón Modelo-Vista-Controlador (MVC) es una forma de organizar el código de una aplicación para que sea más fácil de entender y modificar. El modelo MVC divide una aplicación en tres partes principales:

  1. Modelo: Esta es la parte de la aplicación que maneja los datos y la lógica. Se dedica a gestionar la información importante de la aplicación, como puede ser la información de los usuarios, productos, transacciones, etc. También se encarga de las reglas y procesos que definen cómo funciona la aplicación.
  2. Vista: Esta es la parte de la aplicación que muestra la información al usuario, con la que puede ver y e interactuar.
  3. Controlador: Esta es la parte de la aplicación que recibe la entrada del usuario y coordina la comunicación entre el modelo y la vista. Es como un intermediario que maneja las solicitudes del usuario y decide qué datos deben mostrarse y cómo.

El modelo MVT o MVTU de Django

El patrón anterior es el general que se suele utilizar en muchos entornos, sin embargo, Django cuenta con un patrón algo diferente.

El modelo MVTU cuenta con 4 partes:

  1. Modelo: Esta es la parte de la aplicación que maneja los datos y la lógica. Igual que en MVC.
  2. Vista: Describe los datos que se envían al usuario, pero no su presentación.
  3. Template (Plantilla): Esta es la parte que se encarga de mostrar la información con HTML, CSS, etc.
  4. URL: La configuración de URL de la aplicación Django permite asociar las vistas con las diferentes URL que los usuarios pueden visitar para acceder a las diferentes funciones de la aplicación.

No te preocupes si aún no lo entiendes del todo, irá tomando color a medida que avancemos en los próximos capítulos.


Ejemplo práctico de MVTU - App de mensajería interna

Veamos un pequeño ejemplo con una app de mensajería interna en una intranet.

Supongamos que tenemos la app en un servidor en una empresa.

Los empleados poseen sus propias credenciales de acceso.

Esta app sirve para que se puedan enviar notas y partes de trabajo o informes.

  1. Modelo: La parte del modelo de la aplicación se encargará de gestionar los datos de los mensajes, los usuarios y la información relacionada. Esto puede incluir la creación, lectura, actualización y eliminación de mensajes, así como la gestión de los usuarios y sus permisos.
  2. Vista: La vista de la aplicación se encargará de recibir las solicitudes de los usuarios, realizar las operaciones necesarias en el modelo (como crear o leer mensajes) y devolver una respuesta adecuada. Por ejemplo, una vista puede mostrar una lista de mensajes a un usuario, permitirle crear un nuevo mensaje o permitirle actualizar o eliminar un mensaje existente.
  3. Template (Plantilla): La plantilla se encargará de la presentación visual de los datos de la aplicación. En una aplicación de mensajes, la plantilla podría mostrar los mensajes de una manera fácil de leer para los usuarios, con información como la fecha y hora de creación, el remitente del mensaje y el contenido del mismo. La plantilla también puede incluir elementos de la interfaz de usuario, como botones y formularios, que permitan a los usuarios interactuar con la aplicación.
  4. URL Configuration: La configuración de URL de la aplicación Django permitirá asociar las vistas con las diferentes URL que los usuarios pueden visitar para acceder a las diferentes funciones de la aplicación. Por ejemplo, una URL puede asociarse a una vista que permita a los usuarios crear un nuevo mensaje, mientras que otra URL puede asociarse a una vista que permita a los usuarios ver una lista de mensajes.

Como puedes ver, al seguir este modelo correctamente, implementamos soluciones muy bien organizadas con cada cosa en su sitio.

Al principio puede que sea un poco difícil utilizar estas capas, pero poco a poco, verás que vas viendo la luz.

No te pierdas el siguiente capítulo del curso si quieres seguir aprendiendo sobre Django.

Aquí tienes el curso completo de 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 Introducción a Django con Python
curso django Entrada siguiente Creando una app de varias URL con Django