Primeros pasos con Django

Primeros pasos con Django

Django es un framework gratuito y de código abierto para aplicaciones web, escrito en Python. Se trata de un marco web Python de alto nivel que fomenta el desarrollo rápido, así como un diseño limpio y pragmático con el cual puedes construir eficazmente sitios web elegantes y de alto rendimiento.

Asimismo, Django proporciona componentes listos para usar, encargados de la autenticación de usuarios (registro, inicio de sesión, cierre de sesión), un panel de administración para su sitio web, formularios, una forma de subir archivos y mucho más.

Además, Django es:

  • Seguro.
  • Escalable.
  • Mantenible.
  • Portable.

Si te gusta programar, disfrutarás trabajando con Django. Tiene una gran comunidad, mucha documentación y soporte.

¿Qué necesitas?

  • Tener instalado Python 3.6 o superior.
  • Algún editor de código como Visual Studio Code o PyCharm.
  • CLI.
  • Contar con la documentación oficial:

Python: https://www.python.org/

Django: https://www.djangoproject.com/

Anatomía de Django

Django utiliza la arquitectura MVT (Model-View-Template), un patrón de diseño de software para modelar una aplicación implementando tres capas distintas: Modelo, Vista y Plantilla.

Modelo: Representa una estructura lógica de datos detrás de toda una aplicación. Es la interfaz a sus datos, responsable de mantener sus datos.

Vista: Es lo que se observa en el navegador cuando se visualiza un sitio web. Está representada por archivos HTML, CSS y Js. Al definir  variables, bucles y sentencias condicionales, creas páginas dinámicas y añades interactividad a tu aplicación.

Plantilla: Una plantilla es un plano estático para crear contenido dinámico. Una plantilla consta de partes estáticas de la salida HTML deseada, así como de una sintaxis especial que describe cómo se insertará el contenido dinámico. El motor de plantillas utiliza ésta para crear un documento HTML que contiene partes estáticas y dinámicas.

Empecemos

1) Crea el directorio contenedor de proyecto.

mkdir django_project

2) Activa el entorno virtual con venv o pyenv.

3) Instala Django:

pip install django

4) Inicializa el repositorio:

git init

5) Inicializa el proyecto de Django:

django-admin startproject django_project

6) Para evitar llevar al repositorio remoto archivos innecesarios, es importante crear el archivo

.gitignore

Estructura de los archivos Django


  • _init_.py: Archivo clásico de Python que indica que una carpeta es un paquete.
  • asgi.py / wsgi.py: Sirve para ejecutar el deploy el despliegue de la app.
  • settings.py: Define la configuración del proyecto.
  • urls.py: Define el punto de entrada para todas las peticiones que lleguen al proyecto. Es un conjunto de archivos que nos sirve para hacer el despliegue de nuestra app.manage.py. Muestra diferentes comandos que tenemos disponibles para hacer que nuestro proyecto funcione.

Cada vez que crees un proyecto web (siendo uno mismo el creador), este siempre va a “vivir” en dos lugares:

  • En local: Entorno de trabajo que creamos y editamos para desarrollar.
  • En producción: Es el servidor (jamás tocamos el código directamente). Django nos permite utilizar un servidor (local) de desarrollo y, para verlo, ejecutamos el comando py manage-py runserver.

ORM Object Relational Mapping


ORM (Object-Relational Mapping) es una técnica que nos permite crear una Base de Datos Orientada a Objetos (virtual), que opera sobre la Base de Datos Relacional (real).

Al emplear ORM podemos operar sobre la base de datos aprovechando las características propias de la orientación a objetos, como herencia y polimorfismo.

La capa ORM de Django permite a los desarrolladores utilizar código Python para interactuar con datos backend, en lugar de escribir manualmente consultas SQL. Es compatible con una amplia variedad de sistemas de gestión de bases de datos.

Django admin

Es un panel de control personalizable que gestiona los datos de tu aplicación y realiza cambios en una interfaz sencilla basada en web. El panel de control está construido sobre el ORM de Django y facilita la creación, lectura, actualización y eliminación de elementos de tu base de datos.

Su diseño sencillo y su disposición clara facilitan su uso, además, te ofrece una seguridad excelente para garantizar que tus datos no se vean comprometidos por nadie no autorizado.

Muy Seguro

Django contiene varias utilidades relacionadas con la seguridad que ayudan a mitigar vulnerabilidades comunes de seguridad. La más importante de ellas son los filtros de plantilla, que codifican los datos y la salida HTML para evitar ataques XSS.

Django también cuenta con middleware, que ayuda a proteger contra la inyección SQL, la falsificación de petición de sitio cruzado (CSRF), clickjacking y la ejecución remota de código.

Autenticación de usuarios

El sistema de autenticación en Django es responsable de manejar cuentas de usuario, grupos, permisos y sesiones de usuario basadas en cookies. Puedes utilizar el sistema incorporado en Django para manejar la autenticación de usuarios y las sesiones de usuario.

El sistema proporciona mecanismos para iniciar y cerrar sesión, generar contraseñas para nuevos usuarios y cambiar las contraseñas de los usuarios existentes, así como comprobar las credenciales de inicio de sesión. Dichos mecanismos pueden ampliarse con backends personalizados, además de tener comandos de gestión de autenticación.

Django incluye un sistema de autenticación con personalizaciones flexibles. El sistema consiste en usuarios y grupos que controlan los permisos para cada cuenta. Los permisos pueden ser banderas binarias que designan si un usuario puede realizar una determinada tarea y los grupos proporcionan una forma de aplicar etiquetas y permisos a más de un usuario. Puede configurar las opciones de inicio de sesión de tu sitio web mediante formularios, paneles de administración, vistas o cualquier otro método necesario.

Documentación

Está bien presentada, es fácil de entender y tiene ejemplos. Lo que más me gusta es que hay una sección separada para cada versión y temáticas, de modo que puedes ver claramente cómo evoluciona y adaptar tu código según sea necesario al actualizar.

Aprender un framework de programación te ayuda a crear aplicaciones más flexibles, dinámicas y escalables. Django es un framework web de código abierto escrito en Python y licenciado bajo la GNU Lesser General Public License versión 3.0. Ofrece velocidad y agilidad para desarrollar sitios web dinámicos, integración de sistemas y otras aplicaciones complejas.

Django se ha utilizado para miles de aplicaciones a gran escala, como Disqus, Instagram, Mozilla, Spotify y WalmartLabs.

Espero que esta información te ayude en tus proyectos. ¡Hasta la próxima!

⚠️
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Revelo.

Revelo Content Network da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.