Django 馃悕

Django

Objetivo 馃幆

En esta secci贸n aprenderemos los conceptos b谩sicos de Django y c贸mo utilizarlo para desarrollar aplicaciones web de forma eficiente y estructurada.

脥ndice 馃摎

  • Creaci贸n de Entornos Virtuales
  • Versiones de Django
  • Comandos B谩sicos con Django
  • Archivo settings.py
  • Archivos wsgi.py y asgi.py
  • El Modelo MTV vs MVC

Creaci贸n de Entornos Virtuales

Django

En esta secci贸n, aprenderemos a crear entornos virtuales para nuestros proyectos Django.

Creaci贸n de Entornos Virtuales

Django

Introducci贸n a los entornos virtuales

Django

Los entornos virtuales son herramientas que nos permiten aislar las dependencias de nuestros proyectos, garantizando que cada proyecto pueda tener su propio conjunto de dependencias sin interferir con otros proyectos.

驴Por qu茅 usar entornos virtuales?

Django

Es importante utilizar entornos virtuales para evitar conflictos entre las dependencias de diferentes proyectos y mantener un entorno de desarrollo limpio y organizado.

Creaci贸n de un entorno virtual con virtualenv

Django
virtualenv myenv

El comando virtualenv nos permite crear un nuevo entorno virtual con el nombre especificado.

Creaci贸n de un entorno virtual con venv

Django
python -m venv env

El comando venv nos permite crear un nuevo entorno virtual con el nombre especificado de manera nativa.

Activaci贸n y desactivaci贸n del entorno virtual

Django
.\env\Scripts\activate

Para activar el entorno virtual, utilizamos la ruta al directorio del entorno virtual y el archivo activate.

deactivate

Para desactivar el entorno virtual, simplemente ejecutamos el comando deactivate.

Instalaci贸n de paquetes en un entorno virtual

Django
pip install package-name

Utilizamos el comando pip install dentro del entorno virtual para instalar paquetes espec铆ficos necesarios para nuestro proyecto.

Consideraciones adicionales para el manejo de entornos virtuales

Django

Es importante tener en cuenta la gesti贸n de dependencias y la documentaci贸n adecuada del entorno virtual para facilitar el trabajo colaborativo y el mantenimiento del proyecto a largo plazo.

El arcihvo requirements.tx tiene mucha importancia en esta secci贸n.

Ejemplos pr谩cticos de uso de entornos virtuales

Django

En esta secci贸n, exploraremos ejemplos pr谩cticos de c贸mo utilizar entornos virtuales en proyectos Django para garantizar un desarrollo limpio y organizado.

Versiones LTS de Django

Django

Las versiones LTS (Long-Term Support) de Django reciben soporte a largo plazo, lo que significa que se proporcionan actualizaciones de seguridad y correcciones de errores durante un per铆odo prolongado de tiempo.

Calendario de lanzamiento de Django

Django

Mantenimiento de proyectos en versiones antiguas de Django

Django

A medida que se lanzan nuevas versiones de Django, es posible que los proyectos existentes necesiten actualizarse para aprovechar las nuevas caracter铆sticas y correcciones de errores.

Actualizaci贸n de proyectos a versiones m谩s recientes de Django

Django

La actualizaci贸n de proyectos a versiones m谩s recientes de Django puede implicar cambios en el c贸digo, actualizaciones de bibliotecas y adaptaciones a nuevas pr谩cticas y est谩ndares.

Uso de django-admin

Django

Para crear un nuevo proyecto, simplemente ejecuta el comando

django-admin startproject nombre_del_proyecto

De manera similar, para crear una nueva aplicaci贸n dentro de un proyecto, puedes usar el comando.

python manage.py startapp nombre_de_la_aplicacion

Iniciar un servidor de desarrollo

Django

Django proporciona un servidor de desarrollo integrado que puede ser iniciado con el comando

python manage.py runserver

El arcihvo settings.py

Django

El archivo settings.py es el archivo de configuraci贸n principal de un proyecto de Django.

Configuraci贸n de aplicaciones instaladas

Django

En esta secci贸n se enumeran todas las aplicaciones instaladas en tu proyecto de Django.

Cada aplicaci贸n puede ser una aplicaci贸n de terceros instalada a trav茅s de pip o una aplicaci贸n personalizada creada dentro del proyecto.

Configuraci贸n de la base de datos

Django

Una de las configuraciones m谩s importantes que se encuentran en este archivo es la configuraci贸n de la base de datos.

Aqu铆 puedes especificar qu茅 tipo de base de datos utilizar谩 tu aplicaci贸n, as铆 como la conexi贸n y las credenciales necesarias para acceder a ella.

Configuraci贸n de archivos est谩ticos y medios

Django

Django proporciona opciones para configurar la gesti贸n de archivos est谩ticos y de medios en tu aplicaci贸n.

Los archivos est谩ticos son archivos CSS, JavaScript, im谩genes y otros recursos que se sirven directamente desde el servidor web.

Configuraci贸n de internacionalizaci贸n y localizaci贸n

Django

Django incluye soporte integrado para la internacionalizaci贸n (i18n) y la localizaci贸n (l10n) de tus aplicaciones.

En settings.py, puedes configurar el idioma predeterminado de tu aplicaci贸n, as铆 como definir qu茅 traducciones est谩n disponibles y d贸nde se encuentran los archivos de traducci贸n.

Configuraci贸n de seguridad

Django

La seguridad es una preocupaci贸n importante al desarrollar aplicaciones web.

En settings.py, puedes configurar diversas opciones como la clave secreta, que se utiliza para cifrar datos sensibles, as铆 como configuraciones de middleware de seguridad, pol铆ticas de cookies, protecci贸n contra ataques CSRF y mucho m谩s.

Archivo wsgi.py

Django

El archivo wsgi.py es un punto de entrada para los servidores web compatibles con WSGI (Web Server Gateway Interface) para servir tu aplicaci贸n de Django.

WSGI es una especificaci贸n que define c贸mo los servidores web pueden comunicarse con aplicaciones web escritas en Python.

Archivo asgi.py

Django

El archivo asgi.py es similar al archivo wsgi.py, pero est谩 dise帽ado para servidores web compatibles con ASGI (Asynchronous Server Gateway Interface).

ASGI es una especificaci贸n que permite la comunicaci贸n asincr贸nica entre servidores web y aplicaciones web en Python.

Diferencia entre MTV y MVC

MTV

Diferencia entre MTV y MVC

MTV

Diferencia entre MTV y MVC

Django

Aunque Django utiliza el patr贸n MTV (Modelo, Template, Vista) y MVC (Modelo-Vista-Controlador) es un patr贸n arquitect贸nico similar, existen algunas diferencias clave entre ambos:

Diferencia entre MTV y MVC

Django

  • Modelo: En MVC, el modelo representa la capa de datos y la l贸gica de negocio. En MTV, el modelo sigue siendo la capa de datos y la l贸gica de negocio, pero se integra m谩s estrechamente con el ORM de Django.

Diferencia entre MTV y MVC

Django

  • Vista: En MVC, la vista es responsable de presentar los datos al usuario y manejar la interacci贸n del usuario. En MTV, la vista se encarga de recuperar los datos del modelo y pasarlos a la plantilla para su renderizado.

Diferencia entre MTV y MVC

Django

  • Controlador: En MVC, el controlador es responsable de manejar las solicitudes del usuario y actualizar el modelo en consecuencia. En MTV, el controlador es m谩s abstracto y se maneja en gran medida por el framework, con el enrutador de URL y las vistas como componentes clave.

Diferencia entre MTV y MVC

Django

En resumen, aunque ambos patrones comparten algunos conceptos, el patr贸n MTV de Django proporciona una estructura m谩s modular y flexible para el desarrollo de aplicaciones web.

隆Gracias!

Diego Savedra

Facilitador: Diego Saavedra

Correo: dsaavedra@codingsacademy.com