Saltar al contenido

Tutoriales de Django para principiantes

diciembre 8, 2019

Antes de que aprendamos Django, vamos a entender:

¿Qué es un Web Framework?

Un marco de trabajo web es una biblioteca de código que le ayuda a crear un sitio web, una aplicación web y servicios web dinámicos, flexibles, escalables y mantenibles. Diferentes frameworks web son Zend para PHP, Ruby on Rails para Ruby, etc.

¿Qué es Django?

Django es un framework de desarrollo web para Python que ofrece un método estándar para un desarrollo web rápido y efectivo. Le ayuda a construir y mantener aplicaciones web de calidad. Le permite hacer que el proceso de desarrollo sea sencillo y ahorre tiempo.

Es un framework web de alto nivel que permite realizar desarrollos rápidos. El objetivo principal de este marco web es crear sitios web complejos basados en bases de datos.

En este tutorial, aprenderá

  • ¿Qué es un Web Framework?
  • ¿Qué es Django?
  • ¿Por qué Django? Ventajas clave
  • Historia de Django
  • Características de Django
  • Características de Django
  • Arquitectura de Django
  • Componentes de Django
  • Compañías famosas que usan Django
  • Desventajas de usar Django

¿Por qué Django? Ventajas clave

Aquí están las principales razones para usar Django:

  • Django es fácil de configurar y ejecutar. Ofrece una variedad de opciones para empezar
  • Proporciona una interfaz de usuario lista para usar para actividades administrativas
  • .

  • Habilita sitios web multilingües utilizando su sistema de internacionalización incorporado
  • .

  • Le ayuda a satisfacer las demandas de tráfico masivo rápidamente
  • Django se utiliza para construir todo tipo de sistemas de gestión de contenidos, redes sociales y plataformas de computación científica.
  • Django le ayuda a proporcionar pruebas de aplicaciones de extremo a extremo
  • Le ayuda a documentar su API con una salida HTML
  • REST Framework tiene soporte para varios protocolos de autenticación
  • Permisos y políticas de estrangulamiento
  • Es ampliamente utilizado para limitar la velocidad de las solicitudes de API de un solo usuario.

Historia de Django

  • El proyecto fue iniciado por Adian Holovaty y Simon Willison como proyecto interno en el periódico Lawrence Journal-World en 2003
  • .

  • Salió a la venta en julio de 2005 con el nombre «Django», en honor al guitarrista de jazz Django Reinhard
  • .

  • En junio de 2008, se declaró que una Django Software Foundation (DSF) mantendría Django.
  • La versión 1.1 de Django fue lanzada el 29 de julio de 2009, con características como Aggregates, pruebas basadas en transacciones.
  • La versión Django 1.2 fue lanzada el 17 de mayo de 2010. La actualización ofrece características como múltiples bases de datos, Implementación de backend de correo electrónico y mejoras para las sesiones y cookies que se realizan en esta versión.
  • El 23 de marzo de 2011, la versión 1.3 con características como las vistas basadas en Clase, se introdujeron los archivos estáticos
  • El 23 de marzo de 2012, se lanzó la versión 1.4 con nuevas características como zonas horarias y pruebas en el navegador
  • El 26 de febrero de 2013, la versión 1.5 viene con Python 3 Support, características configurables del modelo de usuario.
  • El 6 de noviembre de 2013, la versión 1.6 viene con funciones de gestión de transacciones de la base de datos y pooling de conexiones.
  • El 2 de septiembre de 2014. La versión 1.7 tenía nuevas características como carga de aplicaciones, migraciones y configuración
  • El 1 de abril de 2015 se proporcionó soporte nativo para múltiples motores de plantillas.
  • El 1 de diciembre de 2015, en la versión 1.9, se introdujo la función de validación automática de contraseñas.
  • El 1 de agosto de 2016, en la versión 1.10, se lanzó la búsqueda de texto completo para PostgreSQL.
  • El 4 de abril de 2017, la versión 1.11 se convierte en la última versión compatible con Python 2.7
  • El 2 de diciembre de 2017, la versión 2.0 se convierte en la primera versión de python 3.
  • El 1 de agosto de 2018, la versión 2.1 viene con la función de soporte de permisos del modelo «view».

Características de Django

  • Le ayuda a definir patrones para las URLs en su aplicación
  • Sistema de URL simple pero potente
  • Sistema de autenticación integrado
  • Base de datos con lenguaje de programación orientado 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 añadir, editar y eliminar elementos. Puede personalizar el panel de administración según sus necesidades.
  • El marco de trabajo de la caché viene con múltiples mecanismos de caché.

Características de Django

  • Acoplamiento suelto – Django te ayuda a hacer que cada elemento de su pila sea independiente de los demás.
  • Menos código – Asegura un desarrollo efectivo
  • No repetir- Todo debe ser desarrollado precisamente en un lugar en lugar de repetirlo de nuevo
  • Desarrollo rápido – Django$0027s ofrece desarrollo de aplicaciones rápido y confiable.
  • Diseño consistente – Django mantiene un diseño limpio y hace que sea fácil seguir las mejores prácticas de desarrollo web.

Django Arquitectura: MVC y MVT

Patrón MVC:

Cuando hablamos de aplicaciones que proporcionan UI (web o escritorio), normalmente hablamos de arquitectura MVC. El patrón MVC se basa en el modelo, la vista y el controlador.

El modelo define la estructura de datos y se encarga de la consulta de la base de datos.

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

El Controller es la parte de la aplicación que maneja la interacción del usuario.

Patrón Django MVC-MVT

El Model-View-Template (MVT) es un concepto diferente comparado con el MVC. La principal diferencia entre estos dos patrones arquitectónicos es que Django mismo administra la parte Controlador (código de software que controla las interacciones entre el Modelo y la Vista). La plantilla es un archivo HTML que se mezcla con el archivo Django Template Language, también llamado DTL.

El siguiente diagrama muestra cómo todos los componentes del patrón MVT interactúan entre sí para servir de forma específica a una petición del usuario.

Arquitectura MVT

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

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

Componentes de Django

Formulario:

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

Autenticación:

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

Admin:

Lee los metadatos de sus modelos para proporcionar una interfaz robusta que se puede utilizar para gestionar el contenido de su sitio.

Internacionalización:

Django ofrece soporte para la traducción de texto a varios idiomas, así como para el formateo de fechas, horas, números y zonas horarias específicas de la localidad.

Seguridad:

Django proporciona protección contra los siguientes ataques:

  • Falsificación de solicitudes en varios sitios (CSRF)
  • Scripting entre sitios
  • Inyección SQL
  • Clickjacking
  • Ejecución remota de código

Compañías famosas que usan Django

Aquí, hay compañías que están usando Django:

  • BitBucket
  • DISQUS
  • NASA
  • PBS (Servicio Público de Radiodifusión)
  • Interés
  • Instagrama
  • Mozilla
  • The Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Desventajas de usar Django

  • Un proceso no puede manejar múltiples solicitudes simultáneamente.
  • Django es una herramienta muy monolítica.
  • Los componentes se despliegan 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 bien acoplados
  • Necesitas hacer una programación larga para tareas menores.

Resumen

  • Django es un framework de desarrollo web para Python que ofrece un método estándar para un desarrollo web rápido y efectivo.
  • Django fue iniciado por Adian Holovaty y Simon Willison como un proyecto interno en el Lawrence Journal-World newspaper en 2003
  • .

  • Django le ayuda a documentar su 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 de MVC y MVT es que Django mismo gestiona la parte Controller.
  • Los componentes esenciales de la arquitectura de Django son:

    Formulario, Autenticación, Admin, Internacionalización, Seguridad

  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. usan Django
  • El mayor inconveniente de Django es que no puede manejar múltiples solicitudes simultáneamente.