Tutorial de Django para principiantes: características, Architectura e historia

Resumen del tutorial de Django

Este tutorial de Django cubre todos los temas básicos desde cero. En este tutorial, aprenderá conceptos como qué es Django, historia de Django, características de Django, características del framework de Django, componentes de Django, ventajas y desventajas, y mucho más.
Antes de aprender Django, comprendamos:

¿Qué es un marco web?

Un marco web es una biblioteca de códigos que le ayuda a crear un entorno flexible, escalable y mantenible; sitio web dinámico, aplicación web y servicios web. Diferentes marcos web son Zend para PHP, Ruby on Rails para Rubí, etc.

¿Qué es Django?

Django es un marco de desarrollo web para Python que ofrece métodos estándar para el desarrollo rápido y eficaz de sitios web. El objetivo principal de este marco web de alto nivel es crear sitios web complejos basados ​​en bases de datos. Le ayuda a crear y mantener aplicaciones web de calidad. Le permite hacer que el proceso de desarrollo sea sencillo y ahorre tiempo para un desarrollo rápido.

¿Por qué Django? Ventajas clave de Django

Estas son las principales ventajas de Django:

  • Django es fácil de configurar y ejecutar. Ofrece una variedad de opciones para comenzar.
  • Proporciona una interfaz de usuario lista para usar para actividades administrativas.
  • Permite sitios web multilingües mediante el uso de su sistema de internacionalización incorporado.
  • Le ayuda a satisfacer rápidamente las demandas masivas de tráfico
  • Django se utiliza para construir todo tipo de sistemas de gestión de contenidos, redes sociales y plataformas informáticas científicas.
  • Django le ayuda a proporcionar pruebas de aplicaciones de un extremo a otro
  • Le ayuda a documentar su API con una salida HTML
  • REST Framework tiene un amplio soporte para varios protocolos de autenticación
  • Permisos y políticas de limitación
  • Se utiliza ampliamente para limitar la velocidad de solicitudes de API de un solo usuario.

Historia de Django

Año Milestone
2003 El proyecto fue iniciado por Adian Holovaty y Simon Willison como un proyecto interno en el periódico Lawrence Journal-World.
Agosto del 2005 Fue lanzado en julio de 2005 como "Django", que lleva el nombre del guitarrista de jazz Django Reinhard.
Junio 2008 Declaró que un software Django Foundation (DSF) mantendría Django.
29 July 2009 La versión Django 1.1 se lanzó con características como Agregados y pruebas basadas en transacciones.
17 May 2010 Se lanzó la versión 1.2 de Django. La actualización ofrecía características como múltiples bases de datos, implementación de backend de correo electrónico y mejoras para sesiones y cookies.
Marzo 23 2011 Versión 1.3 con características como vistas basadas en clases, se introdujeron archivos estáticos
Marzo 23 2012 Lanzamiento de la versión 1.4 con nuevas funciones como zonas horarias y pruebas en el navegador
26 de febrero de 2013 La versión 1.5 viene con Python 3 Soporte, características del modelo de usuario configurables.
Noviembre 6 2013 La versión 1.6 viene con funciones de gestión de transacciones de base de datos y agrupación de conexiones.
2 septiembre 2014 La versión 1.7 tenía nuevas características como carga de aplicaciones, migraciones y configuración.
1 de abril de 2015 Se proporciona soporte nativo para múltiples motores de plantillas.
1 Dec 2015 En la versión 1.9, se introdujo la función de validación automática de contraseña.
1 de Agosto de 2016 En la versión 1.10, búsqueda de texto completo para PostgreSQL puesto en marcha.
4 de abril de 2017 La versión 1.11 se convierte en la última versión compatible Python 2.7
2 Dec 2017 La versión 2.0 se convierte en la primera versión de lanzamiento exclusiva de Python 3.
1 de Agosto de 2018 La versión 2.1 viene con la función de soporte de permiso de "ver" del modelo.
2021 Se eliminó el soporte para Django 3.0 y se agregó soporte para Django 3.2.

Ahora, en este tutorial de Django para principiantes, aprendamos sobre las características de Django.

Características de Django

A continuación se muestran las características de Django:

  • Le ayuda a definir patrones para las URL en su aplicación.
  • Sistema de URL simple pero potente
  • Sistema de autenticación incorporado
  • Base de datos en lenguaje de programación orientada a objetos que ofrece el mejor almacenamiento y recuperación de datos de su clase.
  • La función de interfaz de administración automática permite la funcionalidad de agregar, editar y eliminar elementos. Puede personalizar el panel de administración según sus necesidades.
  • El marco de caché viene con múltiples mecanismos de caché.

Ahora, en este tutorial del marco de Django, aprenderemos sobre las características de Django.

Características de Django

Estas son las principales características de Django:

  • Débilmente acoplado: Django te ayuda a hacer que cada elemento de su pila sea independiente de los demás.
  • Less código- Garantiza un desarrollo efectivo
  • No repetido: todo debe desarrollarse precisamente en un lugar en lugar de repetirlo nuevamente.
  • Desarrollo rápido: Django ofrece un desarrollo de aplicaciones rápido y confiable.
  • Diseño consistente: Django mantiene un diseño limpio y facilita el seguimiento de las mejores prácticas de desarrollo web.

A continuación, en este tutorial para principiantes de Django, aprenderemos sobre la arquitectura de Django.

Django ArchiTecnología: MVC y MVT

A continuación se muestra una arquitectura detallada de Django:

Django Architectura
Django Architectura

Patrón MVC

Cuando hablamos de aplicaciones que proporcionan una interfaz de usuario (web o de escritorio), normalmente hablamos de la arquitectura MVC. El patrón MVC se basa en Modelo, Vista y Controlador.

La Modelo define la estructura de datos y se encarga de consultar la base de datos.

La Ver define qué datos deben presentarse y devuelve una respuesta HTTP.

La Control es la parte de la aplicación que maneja la interacción del usuario.

Patrón Django MVC-MVT

El concepto de Modelo-Vista-Plantilla (MVT) es diferente al de MVC. La principal diferencia entre estos dos patrones arquitectónicos es que Django mismo gestiona la parte del Controlador (código de software que controla las interacciones entre el Modelo y la Vista). La plantilla es un archivo HTML que se combina con el archivo de Lenguaje de Plantillas de Django, también llamado DTL.

El siguiente diagrama muestra cómo todos los componentes del patrón MVT interactúan entre sí para atender una solicitud específica del usuario.

Django ArchiTecnología: MVC y MVT

MVT Architectura

Como se ve en el diagrama anterior, un usuario solicita un recurso a Django. Django actúa como controlador y verifica el recurso disponible en la URL.

Si se asigna una URL, se llama a una vista que interactúa con el modelo y la plantilla. Luego, Django responde al usuario y envía una plantilla como respuesta.

Ahora, en esta serie de tutoriales de Django para principiantes, aprenderemos sobre los componentes de Django.

Componentes de Django

Formulario

Django tiene una poderosa biblioteca de formularios que maneja la representación de formularios como HTML. La biblioteca ayuda a validar los datos enviados y convertirlos a Python tipos.

Autenticación

Maneja cuentas de usuario, grupos, sesiones de usuario basadas en cookies, etc.

Administración

Lee metadatos en sus modelos para proporcionar una interfaz sólida que puede usarse para administrar el contenido de su sitio.

Internacionalización

Django proporciona soporte para traducir texto a varios idiomas, formato específico de configuración regional de fechas, horas, números y zonas horarias.

Seguridad

Django proporciona protección contra los siguientes ataques:

  • Falsificación de solicitudes entre sitios (CSRF)
  • Cross-site scripting
  • inyección SQL
  • Clickjacking
  • Ejecución remota de código

Empresas famosas que utilizan Django

Aquí están las empresas que utilizan Django:

  • BitBucket
  • Disqus
  • NASA
  • PBS (Servicio de Radiodifusión Pública)
  • Pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • New York Times
  • LA Times
  • El guardián National Geographic
  • Canal de descubrimiento

Desventajas de usar Django

  • Un proceso no puede manejar múltiples solicitudes simultáneamente.
  • Django es una herramienta muy monolítica.
  • Los componentes se implementan juntos, lo que puede crear confusión.
  • Conocimiento del sistema completo necesario para trabajar en Django.
  • Hace que los componentes de la aplicación web estén estrechamente acoplados
  • Necesita realizar una programación extensa para tareas menores.

Resumen

  • Django es un marco de desarrollo web para Python que ofrece un método estándar para el desarrollo de sitios web rápido y eficaz.
  • Django lo iniciaron Adian Holovaty y Simon Willison como un proyecto interno en el periódico Lawrence Journal-World en 2003.
  • Django te ayuda a documentar tu API con una salida HTML.
  • Django le permite personalizar el panel de administración según sus necesidades.
  • Django te ayuda a hacer que cada elemento de su pila sea independiente de los demás.
  • La principal diferencia entre los patrones arquitectónicos MVC y MVT es que Django mismo administra la parte del controlador.
  • Los componentes esenciales de la arquitectura de Django son: Formulario, Autenticación, Administración, Internacionalización, Seguridad.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. utilizan Django
  • La mayor desventaja de Django es que no puede manejar múltiples solicitudes simultáneamente.