In english

¿Qué es Django 5 y para qué sirve o para qué usarlo en el desarrollo web?

Django es un framework excelente y el más famoso o al menos el primero que nos viene a la mente cuando hablamos de Python web; Django nos ofrece desde la instalación del framework todo lo necesario para crear proyectos de pequeña o gran envergadura; Django 5 es un framework potente cuyas ventajas principales son:

  • Creación de aplicaciones modulares
  • Programación en el lenguaje de programación multipropósito de Python
  • TODO el ecosistema de Python para desarrollar nuestras apps web
  • Múltiples paquetes que podemos instalar mediante pip y emplearlos en nuestro proyecto ya sea a de Python o propiamente para Django
  • Nos trae un completo módulo o aplicación para realizar la gestión de datos, es decir, los famosos CRUD
  • Diseñar nuestras propias URLs amigables fácilmente
  • Un efectivo enfoque para mantener los requerimientos del proyecto

Vamos a hablar sobre otras características fundamentales sobre el framework como:

Creando un módulo de gestión rápidamente, dinámica y personalizado con la app de admin

Un proyecto de Django, cuenta con varias aplicaciones, una de las más interesantes es la aplicación llamada admin que que nos viene de gratis cuando creamos un proyecto de Django tiene un alto nivel de personalización que va desde definir como presentar los distintos elementos del CRUD, agrupar elementos de formulario, así como definir tipos de campo, registra formularios relacionados, organización de la tabla o listado, definir filtros y campos de búsqueda, cambiar el estilo y un largo etc para crear aplicaciones personalizada a nuestros clientes.

MTV para todo

La estructura de un proyecto en Django es basado en el patrón MTV que ya lo hablamos en una anterior entrada, por lo tanto, tenemos una organización de primera para dividir nuestro desarrollo en capas o niveles.

Un completo ORM para gestionar nuestra base de datos

Tenemos un completo ORM o Objeto Modelo Relacional, muy ágil de emplear y podemos crear todo tipo de estructura y relaciones con nuestra base de datos fácilmente y eficientemente; el ORM de Django al igual que muchos otros de otras tecnologías, asigna un modelo a una tabla en la base de datos en donde una columna en la base de datos corresponde a una propiedad de la tabla

Mediante los modelos, podemos crear, leer, actualizar y eliminar registros en la base de datos, las cuales pueden ser PostgreSQL, MySQL, Oracle y SQLite.

Migraciones para tener la estructura de nuestra base de datos

Maneja un sistema de migraciones en base a clases modelos que definimos que tiene una relación de uno a uno entre el modelo y la migración.

Para crear una migración lo podemos hacer fácilmente y eficientemente, ya que la podemos generar mediante la línea de comandos y toda como código fuente la clase Modelo de nuestro MTV.

Línea de comandos eficiente y precisa

Posee una sencilla línea de comandos para hacer operaciones recurrentes en nuestro proyecto que van desde gestionar las migraciones, crear súper usuarios hasta un sencillo servidor web de desarrollo.

Apps más completas y menos código

Gracias a que estamos trabajando en un ecosistema Python, nos permite extender nuestra app mediante miles de componentes o paquetes que podemos instalar y configurar rápidamente para dotar a nuestra aplicación de más características.

Podemos extender la aplicación de manera modular para una fácil reutilización de estos componentes modulares.

Desarrollado mediante Python, el lenguaje de programación de momento, multifuncional y sintácticamente amigable y muy limpio.

Aparte de todo esto, Django es un framework que viene con todo lo que necesitamos para hacer las aplicaciones más comunes de una manera versátil y escalable.

Apps versátiles

Django es un framework con la cual puedes construir cualquier tipo de aplicación desde nuestro MTV: desde Rest Apis, tiendas en líneas como hacemos en nuestro curso, Blogs y devolver el contenido en cualquier formato como HTML, RSS, JSON, etc.

Algunas de las características principales de Django son:

  • Django proporciona las herramientas para hacer la mayoría de las aplicaciones de base, para realizar operaciones comunes como la conexión al abase de datos, administración de usaurios, formularios, entre otros.
  • El ORM es el mecanismo que empleamos en este tipo de frameworks para interactuar con la base de datos, con est eORM, podemos abstraernos de crear SQL para conectarnos al a base de datos si no, emplear un conjunto de métodos para realizar estas operacioens, lo mejor de todo es que podemos cambiar fácilmente de un motor de base de datos a otra sin necesidad de cambiar una sola línea de código.
  • Seguridad: Una de las ventajas que tenemos de emplear los frameworks es que al estar compuesto de patrones, nos evita cometer errores comunes lo que mejora la seguridad al momento de programar la aplicación.
  • Escalabilidad: Django se puede utilizar para construir sitios web de cualquier tamaño, ya sea de millones de visitas o no, podemos escalar la aplicación fácilmente con más módulos, instalando paquetes especificos para Django o Python que luego empleamos como piezas claves al momento del desarrollo.

Framework seguro

Django, al igual que ocurre con otros frameworks como Laravel o CodeIgniter o el mismo Flask, es un framework seguro; que en gran medida se lo debemos a sus capas del MTV, pero también en la protección de elementos sensibles como contraseñas mediante hash; gracias a nuestro ORM también podemos saltarnos vulnerabilidades en base a la inyección del SQL, evitar ataques CSRF y muchísimo más.

Escalable

Un proyecto en Django consta de una o múltiples aplicaciones, las cuales pueden compartir recursos fácilmente y de manera segura gracias al ecosistema de Python y nuevamente gracias a la separación por capas que nos ofrece el propio framework MTV.

Portable

Al poder ejecutar Python en los Sistemas Operativos más famosos como lo son Windows, Linux y MacOs, Django lo podemos ejecutar y desarrollar en donde queramos de una manera sencilla, configurable y segura; aunque, en Windows podemos tener algunar particularidades al momento del desarrollo

Instalación de Django 5

Ahora, con nuestro Python ya listo, lo siguiente que vamos a hacer es instalar Django, que lo podemos instalar fácilmente nuestro gestor de paquetes que lo tenemos de gratis en Python 3:

python -m pip install Django

Y ya con esto podemos empezar a desarrollar nuestras aplicaciones en Django y crear el juego de proyecto/aplicación que lo trataremos en una posterior entrada, pero para no dejarte en ascuas; un proyecto tiene múltiples aplicaciones y los proyectos en Django tienen un orden bien peculiar;  aquí lo primero que tienes que entender es cómo está formado un proyecto en Django, y es que en un proyecto nosotros podemos tener múltiples aplicaciones como la que manejamos en nuestro curso de Django:

Proyecto Django

Cómo empezar con Django

Recuerda que si te interesa desarrollar en Django, en nuestro curso de Django que puedes tomar en esta plataforma podrás aprender esto y mucho más.

Puedes obtener más información en la documentación oficial y recuerda que en siguientes guías vamos a ver como usar Django para desarrollar nuestros proyectos.

Vamos a empezar hablando sobre el framework, sobre que es y las ventajas que nos ofrece: 

¿Qué es Django 3 framework y para qué usarlo para desarrollar apps web?

Continuar leyendo 

Ya con una idea básica del framework, hablamos sobre el MTV, que es la variación del MVC:

El patrón de diseño MTV en Django y su relación con el MVC

Continuar leyendo 

Vamos a empezar a crear una aplicación básica, para eso lo primero que necesitas conocer es cómo crear un proyecto y aplicación en Django, aparte de para qué sirve cada una de ellas ya que son los componentes claves en cualquier proyecto de Django:

Creando nuestro primer proyecto y aplicación (app) en Django

Continuar leyendo 

Una de las diferencias fundamentales que tenemos en Django si lo comparamos con otros framewoks, es la distinción entre proyecto y aplicación, que en Django corresponde a una estructura y configuración, así que, ya creado nuestro proyecto, creamos la primera aplicación:

Creando nuestro primer ejemplo completo de hola mundo en Django

Continuar leyendo 

Una vez tengas ya listo tu Django instalado en tu equipo, y tu proyecto y al menos una aplicación generado, lo siguiente que seguramente quieres hacer, es echar tu primera línea de código, tu hola mundo en Django que es la carta de presentación en cualquier lenguaje de programación o framework que quieras iniciar:

Creando nuestro primer ejemplo completo de hola mundo en Django

Continuar leyendo 

Un punto muy importante en Django, es que parte del MTV es formado por un ruteo, que nosotros tenemos que definir para conectar la URLs a una vista en Django, y esto lo podemos hacer fácilmente con un archivo de configuración para tal fin que nos permite mapear todos los componentes:

Cargar vistas en archivos de URLs en Django

Continuar leyendo 

Una vez que conozcas las rutas, el siguiente paso es saber como darle un nombre, esto es muy utíl para referenciar más adelante las mismas de una manera muy fácil:

Rutas con nombre en Django

Continuar leyendo 

Las bases de datos son un componente fundamental hoy en día que nos permite hacer todos nuestros datos persistentes y por lo tanto llevar nuestro proyecto en Django a otro nivel; pero para eso necesitas aprender cómo realizar esta conexión a una base de datos MySQL con Django correctamente:

Configurar y conectar una base de datos en un proyecto en Django (MySQL)

Continuar leyendo 

Una vez conectada a la base de datos, necesitamos trabajar con la capa de los datos, que no puede ser otra que la del modelo, que nos permite ir conectándonos a una tabla (ya previamente creada mediante las migraciones) en particular para ya sea obtener datos, eliminarlos, actualizarlos o simplemente crear nuevos registro:

Crear migraciones para la base de datos en Django 3

Continuar leyendo 

Así que en este punto ya tenemos todo listo, y podemos hacer algo más interesante cómo crear nuestras primeras vistas, las vistas más sencillas o una de las más sencillas que podemos construir serían la de listados en Django, para mostrar un conjunto de registros; aquí trabajamos por completo con nuestro MTV, para definir la lógica para manipular los datos, obtener los datos y desplegarlos en un template HTML con ayuda de unas directivas de Django:

Como usar Django con Python: Crea una vista simple de listado

Continuar leyendo 

Para interactuar con los distintos controladores/vistas que existen en Django, lo hacemos mediante el sistema de rutas, ya esto es común en este tipo de framework:

Cargar vistas en archivos de URLs en Django

Continuar leyendo 

Ya con un poco el proyecto en Django iniciado, es buena idea conocer algunas comandos importantes del Framework:

Comandos y configuraciones imprescindibles al momento de crear cualquier aplicación en Django

Continuar leyendo 

Otro aspecto que debemos de considerar, es conocer cuales son las entidades que vamos a crear, en Django al igual que muchos otros frameworks, lo hacemos mediante la capa de los modelos:

Creando modelos en Django

Continuar leyendo

El metodo __str__ en los modelos para imprimir una representación en texto del modelo/clase

Continuar leyendo 

Y luego, para poder crear las tablas relacionadas a los modelos en la base de datos, lo hacemos mediante las migraciones:

Crear migraciones para la base de datos en Django 5

Continuar leyendo 

El manejo de los formularios es fundamental para realizar casi cualquier operación, es el formato que existe por excelencia para obtener datos del usuario y poder crear y actualizar registros y con esto, interactuar con la data:

¿Qué son, y cómo crear un formulario con Django?

Continuar leyendo

Trabajando con formularios en Django, crear un registro

Continuar leyendo 

Creado algunos registros, podemos mostrarlos en un listado: 

Paginación de tablas (registros) en Django empleando Bootstrap 4 o 5

Continuar leyendo 

Siguiendo con la creación de nuestro CRUD, la siguiente operación que vamos a realizar es la de crear la vista de detalle:

CRUD en Django, crear la página de detalle o show

Continuar leyendo 

La siguiente operación es la de eliminar los registros:

Borrar registros en Django

Continuar leyendo 

Muchas veces necesitamos crear un proceso que se ejecute antes de algo, por ejemplo, verificar siempre que un usuario autenticado cumpla con ciertas reglas antes de acceder a diferentes módulos, esto se puede configurar mediante los middleware:

Todo sobre los middlewares personalizados en Django

Continuar leyendo 

Una de las grandes características que tenemos disponibles en Django y que hace una diferencia con cualquier sistema web, es Django Admin, que desde el cual podemos realizar la gestión de nuestro sitio web con muy pocas líneas de código:

¿Qué es Django Admin?

Continuar leyendo 

Las Rest Api son piezas fundamentales casi en cualquier sistema, conocer como crear las mismas, son un paso muy importante que te servirán cuando queramos expandir la aplicación, e inclusive expandir la misma mediante autenticación con Tokens, para todas estas maravillas, empleamos Django Rest Framework:

Crear una Restful Api (CRUD) empleando Django Rest Framework

Continuar leyendo

Token de autenticación en la Rest Api emplando Django Rest Framework

Continuar leyendo 

Crear una Restful Api (CRUD) empleando Django Rest Framework

Continuar leyendo 

Hay muchos aspectos que convierten a Django en un framework muy robusto que no solamente es su modularidad, grandes funcionalidades de base, si no, su integración con paquetes de Python o exlucusivamente para Django, como lo es Channels, para crear canales en una aplicación asíncrona:

Websockets en Django empleando Django Channels, Servidores wsgi y asgi

Continuar leyendo 

Curso y Libro para dominar Django

Si te quedastes con ganas de más, te traigo a tu disposición estos recursos premium.

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.

En este libro, 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.

Este curso 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.

Esta guía tiene la finalidad de dar los primeros pasos con Django; con esto, vamos a plantear dos cosas:

  1. No es una guía 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.
  2. 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.

Recuerda que puedes consultar el listado

Ver Listado »

Acepto recibir anuncios de interes sobre este Blog.