Primeros pasos con Django 5
Django es un framework con muchas opciones, nos permite crear aplicaciones con el lenguaje del momento Python, un lenguaje de programación modular, con una sintaxis impecable que también podemos usarlo en ambiente web.
Nos ofrece un esquema modular entre proyecto y aplicaciones, un conjunto importante de paquetes para extender el ya de por sí, completo framework y con esto, la creación de proyectos escalables.
Es un framework que, al emplear Python, nos trae consigo sus bondades de una sintaxis limpia, clara, precisa, entorno modular y escalable mediante paquetes.
Vamos a conocer cómo está formado el framework, las características básicas que nos permite Django como framework por excelencia para crear procesos CRUDs, que pasan desde la creación de vistas, templates, conexión con modelos, ruteos, validaciones de formularios, crear middleware entre otros.
En definitiva, tendrás un enorme material a tu disposición, para hacer verdaderas aplicaciones web.
Alcance
Esta guía tiene la finalidad de dar los primeros pasos con Django; con esto, vamos a plantear dos cosas:
No es un curso que tenga por objetivo conocer al 100% Django, o de cero a experto, ya que, sería un objetivo demasiado grande para el alcance de esta guía, si no conocer su ecosistema, que nos ofrece y cómo funciona el mismo en base a varios ejemplos y/o aplicaciones pequeñas con alcances limitados.
Se da por hecho de que el lector tiene conocimientos al menos básicos en el lenguaje de programación de Python, al igual que en tecnologías web como HTML, CSS y JavaScript; también es recomendado que tengas conocimientos al menos teóricos sobre el framework en el uso de módulos, migraciones, MTV; aunque en el libro hacemos introducciones a toda la estructura base del framework.
Para quién es este curso
Este libro está dirigido a cualquiera que quiera comenzar a desarrollar con Django; puede que vengas de otro framework o inclusive PHP; en ambos casos es una gran idea aprender de uno de los frameworks webs más avanzados y completos que podrás encontrar.
Para aquellos que quieran conocer el framework y que conozcan otros frameworks webs, pero no tienen los conocimientos necesarios para aventurarse en estos.
Para aquellas personas que quieran aprender algo nuevo, conocer sobre un framework que, aunque tiene mucha documentación, la mayoría está en inglés y al estar el framework en constante evolución, tiende a quedar desactualizada.
Para las personas que quieran mejorar una habilidad en el desarrollo web, que quiera crecer como desarrollador y que quiera seguir escalando su camino con otros frameworks similares a este.
Para aquellos que quieran aprender o mejorar una habilidad y con esto, aumentar sus posibilidades de empleo o para llevar un proyecto personal.
Este curso tiene un total de 18 secciones, se recomienda leer en el orden en que están ordenados y como explicamos los componentes del framework, pasar directamente a la práctica, replicar, probar y modificar los códigos que mostramos.
- Sección 1: En este capítulo vamos a presentar el software necesario para crear proyectos en Django, Python como lenguaje de programación y en el cual está desarrollado el framework, un editor de código como VSS, hasta preparar el entorno.
- Sección 2: En este capítulo vamos a crear el ambiente virtual para desarrollar en la aplicación, crearemos el proyecto en Django, conoceremos su estructura básica y el uso de las aplicaciones y proyecto en Django.
- Sección 3: En este capítulo daremos una introducción a Python conociendo sus características básicas y funcionalidades como variables, tipos de datos, funciones, clases entre otros.
- Sección 4: En este capítulo, vamos a crear una aplicación tipo CRUD sencilla y conocer todos los elementos propios del framework que esto implica como manejo de formularios, templates, vistas y modelos, además del manejo de los tokens CSRF, migraciones, bases de datos entre otros.
- Sección 5: En este capítulo, vamos a trabajar con Django Admin para proporcionar una interfaz para administrar el contenido del sitio; es decir, los típicos CRUDs, conoceremos como personalizarlos a nivel de clases, validaciones, interpretar peticiones, entre otros.
- Sección 6: En este capítulo, vamos a presentar el uso de los formularios en Django, definición, validaciones, guardado y estructura en general.
- Sección 7: En este capítulo, vamos a presentar las distintas funcionalidades que cuentan los templates en Django.
- Sección 8: En este capítulo, vamos a presentar algunas funciones que podemos usar con los QuerySet al momento de construir las consultas.
- Sección 9: En este capítulo, vamos a construir una Rest Api con Django Rest Framework.
- Sección 10: En este capítulo, vamos a consumir la Rest Api anterior con una aplicación en Vue 3 y NaiveUI; se crearán listados, formularios y se integrarán con Tailwind.css
- Sección 11: En este capítulo, vamos a conocer las vistas basadas en clases realizando las típicas operaciones que se necesitan en el desarrollo web moderno.
- Sección 12: En este capítulo, vamos a conocer como trabajar con archivos en Django; específicamente leer y generar excel y CSV y generación de PDFs.
- Sección 13: En este capítulo, vamos a mostrar el código de una aplicación creada con Alpine.js para crear un componente tipo to do list.
- Sección 14: En este capítulo, vamos a adaptar la aplicación en Alpine.js presentada en el anterior capítulo, para que funcione en conjunto con Django.
- Sección 15: En este capítulo, vamos a emplear Django Channels para aprender a crear sistemas con comunicación full duplex y poder crear nuestros propios websockets y consumirlos, veremos cómo crear aplicaciones de simple canales y múltiples, también como consumir un consumer desde una app en Vue.
- Sección 16: En este capítulo, vamos a crear un módulo de autenticación personalizada con login, registro, recuperar contraseñas, envío de correos, carga del avatar entre otros.
- Sección 17: En este capítulo, vamos a conocer cómo emplear el sistema de signals o señales para interceptar eventos en Django como creación de entidades en la base de datos y ejecutar un código personalizado.
- Sección 18: En este capítulo, presentaremos el uso de las pruebas unitarias para crear funciones automatizadas y probar distintos módulos de nuestra aplicación.
¿Qué aprenderemos?
A nivel técnico aprenderás ha trabajar con las siguientes características en Django:
- Sobre Django
- Requerimientos de Django y software a emplear
- Primeros pasos con Python
- Crear espacios virtuales e instalar paquetes
- Instalar Django mediante la PIP
- La herramienta de CLI de Django para crear aplicaciones, manejar migraciones y levantar el servidor
- Explicar estructura de un proyecto en Django
- Visual Studio Code como IDE para desarrollar
- Manejo de las rutas
- MTV
- Trabajar con múltiples vistas (layout)
- Conexión a la base de datos
- Formularios para la gestión de datos y validación
- Sesión y sesión flash
- Carga de archivos
- Redirecciones y mensajes por sesión
- Seeder: Generar datos de prueba en nuestra aplicación
- CRUD con los modelos
- Conocer las librerías y funciones de ayuda principales en Django
- Crear funciones de Ayuda o helpers personalizadas.
- Creación de RestApis tipo CRUD
- Módulo de usuario con login registro
- Uso de los middleware para interceptar peticiones
- Paquetes y aspectos generales
- Integrar con PayPal
- Personalizar el módulo administrador
- Envío de emails
- Carrito de compra
- Integrar con Bootstrap 5
- Crear apps en Vue con la CLI
- CRUDs.
- Integrar con Naive UI.
- Consumir la Rest Api.
- Tailwind.css.
- Vistas Basadas en clase tipo CRUD y para el Login
- Manejo de CSVs y PDFs
- Introducción a Alpine.js
En Bootstrap vamos a usar:
- Nav
- Cartas
- Alertas
- Modals
- Tablas
- Imágenes
- Carrusel
- Botones
- Grid y contaniner
- Font Awesome para los íconos
Proyectos o aplicaciones
- Secciones para crear una aplicación de tienda en línea con PayPal y Stripe con listado de productos, filtros, login y pasarela de pagos.
- Secciones para crear apps en Vue para consumir la Rest Api y comunicar con los websockets.
- Secciones para crear una aplicación de chat y de alerta
- Aplicación para generar y leer archivos excels y csv; generar pdfs.
- Aplicación de to do con Alpine y Boostrap con una Rest Api en Django
Ventajas de desarrollar en Django y de tomar este curso
- Django es un framework estupendo para ti y para comenzar en el mundo de desarrollo y adentrarse al desarrollo de apps con Python, es mucho más amigable que trabajar con otros frameworks
- Ofrece una excelente organización modular, es un framework rápido, potente, con librerías y helpers listas para usar tanto de Django como de Python y extensible con paquetes y librerías de terceros; a su vez.
Si quieres tener el detalle completo del curso:
Un curso completo desde cero en Django, conocer desde un hola mundo hasta pasar por aspectos basicos del framework hasta otros no tan basicos.