Django es un framework web de alto nivel. Permite crear sitios web seguros y fáciles de mantener rápidamente.1 Es desarrollado por expertos. Te ayuda a superar desafíos sin perder tiempo. Así, puedes concentrarte en lo importante, tu aplicación. Ofrece todo lo necesario en un solo lugar, siguiendo una filosofía muy clara.1 La comunidad es activa, hay mucha documentación y el soporte es variado.

Principales características de Django

Django es completo y sigue la filosofía «Baterías incluidas». Ofrece lo que los desarrolladores necesitan «de fábrica».1 Es versátil, sirve para sitios de cualquier tipo. Desde gestores de contenidos hasta redes sociales. Además, es seguro porque protege tu sitio de forma automática.2 También es escalable, permite crecer fácilmente. Y es mantenible, su código se basa en principios que hacen posible reutilizarlo.2 Por último, es portable gracias a Python, funcionando en diversas plataformas.2

Clave Takeaways

  • Django es un framework web de alto nivel que permite el desarrollo rápido de sitios web seguros y mantenibles.
  • Django sigue la filosofía «Baterías incluidas» y provee casi todo lo que los desarrolladores quisieran que tenga «de fábrica».
  • Django es un framework versátil, seguro, escalable, mantenible y portable.
  • Django cuenta con una comunidad próspera y activa, y es utilizado por sitios web reconocidos.
  • Django es considerado popular debido al número de sitios que lo utilizan, contribuidores al código base y la disponibilidad de soporte.

¿Qué es Django?

Django es un framework web de alto nivel. Ayuda a hacer sites seguros y fáciles de mantener de forma rápida.2 Fue creado por expertos para quitar las complicaciones del desarrollo web. Así, te deja enfocarte en hacer tu app sin empezar de cero.2

Framework web de alto nivel

Django es reconocido por simplificar el desarrollo web. Ofrece muchas funcionalidades y herramientas preparadas para usar.2 Esto deja a los desarrolladores trabajar en la lógica de la app para hacer su trabajo de forma más eficaz.

Desarrollo rápido de sitios web seguros y mantenibles

Se enfoca en la seguridad, protegiendo los sitios de ataques comunes.2 Su enfoque en el diseño DRY ayuda a escribir código que se pueda mantener y reutilizar.2

Filosofía «Baterías incluidas»

Django sigue la filosofía de tener «Baterías incluidas».2 Ofrece casi todo lo que los desarrolladores necesitan directamente. Sus partes trabajan bien juntas y viene con mucha documentación.2

Características principales de Django

Django es un framework completo que ofrece muchas herramientas desde el principio. Se puede utilizar para crear varios tipos de sitios web. Estos van desde blogs y wikis, hasta redes sociales y noticias.2

Además, es seguro porque evita errores de seguridad comunes. Su diseño protege automáticamente cada sitio web.2

Escalable

Este framework es fácil de escalar. Su arquitectura permite añadir más hardware sin complicaciones.2

Mantenible

Django fomenta un código limpio y reutilizable. Esto lo hace un framework muy fácil de mantener.2

Portable

Y por último, es portable gracias a trabajar con Python. Esto significa que funciona en varios sistemas.2

Historia y evolución de Django

Entre 2003 y 2005, un grupo trabajaba en sitios de noticias y creó Django.2 Después de varios proyectos, comenzaron a reutilizar su trabajo común. Así nació Django, un framework abierto, en julio de 2005.

Desde su comienzo, Django ha crecido mucho.2 Empezó con la versión 1.0 en 2008 y ahora está en la 1.11 (2017). Cada actualización mejora el sistema con nuevas funciones y corrigiendo errores.

Popularidad de Django

¿Cuán popular es Django? Muchos sitios usan este framework. También hay mucha gente que ayuda con el código y ofrece soporte.2 Sitios famosos que utilizan Django son: Disqus, Instagram, Knight Foundation, y muchos más.2

Sitios web que usan Django

Django es bien conocido por la cantidad de páginas que ha impulsado. También hay muchos que contribuyen a él.2 Grandes plataformas como Instagram confían en Django. Detrás, hay un gran equipo de usuarios y aportadores.2

popularidad Django

Django: «Dogmático pero no del todo»

Al hablar de «dogmáticos» o «no dogmáticos», los frameworks web toman posturas. Los primeros marcan un camino como «la forma correcta» de hacer cada tarea. Los segundos permiten más libertad al unir componentes para lograr un fin, o elegir qué usar.2

Django se sitúa en un punto intermedio como «dogmático pero no del todo». Esto le permite ofrecer el mejor de dos mundos. Brinda herramientas para casi todas las necesidades de desarrollo web, con formas preferidas de uso. Pero, su enfoque flexible también deja espacio para elegir entre varias alternativas o incluso añadir nuevas.2

Componentes de una aplicación web Django

En Django, el código para manejar pasos de peticiones HTTP se separa en distintos ficheros1. Estos incluyen URLs, vistas, modelos y plantillas.

URLs

El archivo urls.py mapea las URLs de la web. Define cómo las URL se conectan con las vistas.1 Es común dividir este trabajo entre el archivo principal y los de cada aplicación, haciendo más fácil el manejo del código.

Vistas

Las vistas manejan la lógica de la aplicación. Pueden ser funciones o clases. Devuelven la respuesta HTTP. Se guardan en views.py y trabajan con modelos y plantillas.

Modelos

Los modelos representan datos de la base de datos de Django. Se crean, leen, actualizan y eliminan datos.1 Con Django, se usa un ORM muy potente. Esto hace que sea fácil trabajar con la base de datos sin usar SQL directamente.

Plantillas

Las plantillas son archivos HTML para el diseño de las páginas. Se almacenan en la carpeta ‘templates’. Trabajan con las vistas para mostrar contenido al usuario.

1 Django tiene un gran sistema de plantillas. Ayuda a mantener la separación entre el diseño y la lógica de la aplicación. Mejora la flexibilidad del proyecto.

Desarrollo Web con Django: Tutorial Paso a Paso

Vamos a estudiar cómo crear aplicaciones web sólidas con Django. Este es el framework de Python más popular. En este tutorial, abordaremos todo lo esencial. Desde la instalación, crear proyectos y apps, hasta configurar la base de datos y los URLs1.

Primero, necesitas configurar tu espacio de trabajo Django. Sigue el Tutorial Django1. Es bueno hacer partes reusables. Por ejemplo, crea una web BibliotecaLocal con la carpeta locallibrary y un módulo catalog1.

Al comenzar un proyecto, Django crea ciertas carpetas. Entre ellas, encontrarás settings.py, urls.py, y wsgi.py. Estos son cruciales para cualquier proyecto web1. Para añadir catalog, usa python3 manage.py startapp catalog. En sistemas Linux y Mac OS se hace así1. La app catalog contiene archivos clave como admin.py, models.py, y tests.py1.

Django también organiza un espacio para las actualizaciones de base de datos: migrations1. No olvides registrar catalog en tu proyecto. Hazlo editando INSTALLED_APPS en settings.py1.En settings también se ajusta la base de datos, eligiendo SQLite u otros. Además, se configuran detalles como la zona horaria y las claves de seguridad1.

Luego, con urls.py, asignamos las URL a sus respectivas vistas. Esto es crucial para que tu web funcione correctamente.

Configurar el entorno de desarrollo

Para comenzar con Django, necesitas1 configurar tu entorno de desarrollo. Primero, instala Python y luego crea un entorno virtual. Después, instala Django3 y estarás listo. Con todo listo, podrás hacer tu primera aplicación web con Django.

Los pasos para configurar Django incluyen lo siguiente4:

  1. Instalar la versión 3.0.6 de Django4
  2. Crear un proyecto Django con ‘django-admin startproject’. Esto generará 4 archivos en la carpeta ‘testsite’4
  3. Activa tu entorno virtual de Python usando ‘. env/bin/activate’4
  4. Habilita el puerto 8000 en tu firewall usando UFW4
  5. Crea un superusuario Django con el comando ‘python manage.py createsuperuser’4

En total, necesitas seguir 17 pasos para el entorno de desarrollo de Django4. Es clave recordar que puedes instalar Django en varios sistemas. Funciona en Windows, Linux (Ubuntu) y Mac OS X3. Además, para un mejor desempeño, es bueno usar la última versión de Python 33.

Configurar entorno desarrollo Django

Crear un nuevo proyecto Django

Para1 empezar un proyecto Django, usa el comando django-admin startproject.5 Así, se crea la base de carpetas y archivos para tu proyecto. Esto incluye manage.py, que es clave para gestionar el proyecto.5

Estructura de carpetas del proyecto

Esta estructura trae una carpeta principal, ajustes, URLs y WSGI.1 Al crear un proyecto en Django, obtienes esta organización.1 Te da un buen punto de partida para crear aplicaciones web.

Crear una nueva aplicación

En el proyecto Django, usaremos el comando1 manage.py startapp para iniciar.1 Cada app tendrá sus propias carpetas y archivos, incluyendo views.py y models.py.

Registrar la aplicación

Después de crearla, hay que añadir la app a INSTALLED_APPS en la configuración del proyecto.1 Así, Django la reconocerá y podrá utilizarla.

Al crear una app en Django, es clave mantener orden en las carpetas.1 Esto ayuda a que nuestro código sea fácil de actualizar. También, al registrar la app, permitimos que Django use lo que construimos, como vistas y modelos.1

Configurar la base de datos

Django puede trabajar con varios sistemas de bases de datos. Algunos son SQLite, PostgreSQL y MySQL.1 En este tutorial, nos centraremos en SQLite. Es fácil de usar sin necesidad de ajustes extras.1

Para manejar la base de datos, vamos al archivo settings.py del proyecto.1 Aquí, Django nos da herramientas para crear y cambiar la base de datos al modificar los modelos.1

Opciones de bases de datos

6 Django da la opción de trabajar con diferentes bases de datos. Como dijimos antes, SQLite, PostgreSQL y MySQL están entre ellas.6 En Django, los modelos se describen en el archivo models.py de la aplicación. Usamos clases que heredan de django.db.models.Model.6

Al definir un modelo, podemos poner varios argumentos. Por ejemplo, max_length, help_text, verbose_name.6 También podemos establecer opciones como default, null, blank, choices y primary_key.6

Configurar SQLite

4 Se instaló Django versión 3.0.6 en el servidor. Esto lo sabemos por comprobar la versión.4 Para permitir el tráfico web, se abrió el puerto 8000.4

Al iniciar un proyecto de prueba, Django creó varios archivos como __init__.py y settings.py.4 También generó asgi.py, urls.py y wsgi.py.4

Usamos el comando createsuperuser para hacer un usuario administrativo.4 Luego, el servidor se ejecutó en el puerto 8000 para ver el sitio de prueba.4

En settings.py, se incluyó la IP del servidor en la lista ALLOWED_HOSTS.4 Así, se puede acceder al admin con /admin/ al final de la URL.4

Para parar el servidor, basta con hacer CTRL + C. Y para salir del entorno de programación, usamos deactivate.4

Mapear URLs

El mapeo de las URLs se cuida en urls.py de la aplicación.1 Ahí, se conectan las rutas con las vistas que corresponden. Es común que cada aplicación tenga su propio archivo urls.py.

Esto simplifica mucho la organización del código. En este sistema, las rutas se organizan mejor. Se vuelve más fácil mantener todo, incluso a medida que el proyecto crece.1

Django hace el proceso de mapeo muy simple y versátil. El archivo urls.py funciona como un gestor central.1 Se encarga de enviar cada solicitud a la vista indicada. Así se mantiene el orden y la facilidad de mantenimiento con el tiempo.1

Además, en Django podemos usar parámetros variables en las URLs. También ofrece crear enlaces fácilmente con URL inversas. Y es posible unir URLs de distintas aplicaciones en un solo lugar.1 Estas funciones amplían mucho las posibilidades y mejoran la estructura del proyecto.1

Enlaces de origen

  1. https://developer.mozilla.org/es/docs/Learn/Server-side/Django/skeleton_website
  2. https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Introduction
  3. https://developer.mozilla.org/es/docs/Learn/Server-side/Django/development_environment
  4. https://www.digitalocean.com/community/tutorials/how-to-install-django-and-set-up-a-development-environment-on-ubuntu-20-04-es
  5. https://tutorial.djangogirls.org/es/django_start_project/
  6. https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Models

Deja un comentario