vista tutorial template que puede pelicula mvt mvc modelo hacer con django model-view-controller frameworks

tutorial - Controlador Django vs. Modelo Vista



python django mvc tutorial (4)

De acuerdo con el libro de Django , Django sigue el patrón de MVC lo suficientemente cerca como para ser llamado un marco de MVC.

Django se conoce como un marco de MTV porque el controlador maneja el controlador y la mayor parte de la emoción se produce en modelos, plantillas y vistas.

Puede leer más acerca de MTV / MVC aquí:

El patrón de desarrollo MTV (o MVC)

Si está familiarizado con otros marcos de desarrollo web de MVC, como Ruby on Rails, puede considerar las vistas de Django como los controladores y las plantillas de Django como vistas .

Esta es una desafortunada confusión provocada por diferentes interpretaciones de MVC.

En la interpretación de Django de MVC, la vista describe los datos que se presentan al usuario; no es necesariamente cómo se ven los datos, pero qué datos se presentan.

En contraste, Ruby on Rails y marcos similares sugieren que el trabajo del controlador incluye decidir qué datos se presentan al usuario, mientras que la vista es estrictamente cómo se ve la información, no qué datos se presentan.

¿Alguien puede explicarme dónde están las diferencias entre Django y el patrón de Model View Controller?

Funcionalmente, ¿qué podemos esperar de esas diferencias, es decir, qué funciona de manera diferente comparando Django con, por ejemplo, Ruby on Rails?


En mvt, una solicitud a una URL se envía a una Vista. Esta vista llama al Modelo, realiza manipulaciones y prepara los datos para la salida. Los datos se pasan a una Plantilla que se representa como una respuesta. idealmente en marcos web, el controlador está oculto a la vista.

Aquí es donde la diferencia es de MVC: en mvc, el usuario interactúa con la interfaz gráfica de usuario, el controlador maneja la solicitud y notifica al modelo y la vista consulta al modelo para mostrar el resultado al usuario.


Las preguntas frecuentes de Django en sí son un buen lugar para comenzar:

Tenga en cuenta que "Model View Controller" es solo un patrón, es decir, un intento de describir una arquitectura común. Entonces, una mejor pregunta podría ser "¿Qué tan bien encaja Django en el patrón del controlador de vista de modelo?"


Cuando codifica, sin pensar en los nombres de las piezas del framework, no hay diferencias sospechosas entre ellos, por ejemplo RoR. Pero depende del uso que den a los models , ya que en Django contienen fácilmente cierta lógica que en otros marcos se mantendría a nivel de controlador.

La view en Django tiende a ser un conjunto de consultas para obtener datos y pasarlos a la plantilla.