Módulo 1: Introducción a Django.

¿Qué es Django y por qué utilizarlo?

  • Django es un framework web de alto nivel basado en Python.
  • Facilita el desarrollo rápido de aplicaciones web robustas y seguras.
  • Ventajas de Django: MVC (Modelo-Vista-Controlador), administrador de base de datos, seguridad integrada y comunidad activa.

MVC vs MTV.

Instalación de Django 4.2.3 y Configuración del Entorno de Desarrollo

Para instalar Django 4.2.3, se recomienda utilizar un entorno virtual (por ejemplo, con virtualenv o conda).

Comandos para instalar Django y crear un entorno virtual:

Instalación de virtualenv

pip install virtualenv

Creación del entorno virtual

python -m venv env

Activación del Entorno Virtual

cd env/Scripts
activate

Salir del directorio Scripts

cd ../../

Instalación de Django usando pip

pip install django==4.2.3

Creación de un Proyecto en Django.

Para crear un nuevo proyecto Django, utilizamos el comando

django-admin startproject nombre_proyecto .

Estructura de directorios generada:

nombre_proyecto/
    manage.py
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

Estructura de Directorios de un Proyecto Django.

La estructura de directorios de un proyecto Django se organiza de la siguiente manera:


nombre_proyecto/
│   manage.py

└───nombre_proyecto/
│   │   __init__.py
│   │   settings.py
│   │   urls.py
│   │   asgi.py
│   │   wsgi.py

└───otras_aplicaciones/
    │   ...
  • nombre_proyecto/: Es el directorio raíz del proyecto. Contiene el archivo “manage.py”, una herramienta para administrar y ejecutar comandos de Django.

  • nombre_proyecto/nombre_proyecto/: Este directorio es la configuración principal del proyecto. Contiene varios archivos esenciales, entre ellos:

    • init.py: Indica que el directorio es un paquete y permite la importación de módulos dentro de él.
    • settings.py: Aquí se encuentran todas las configuraciones del proyecto, como bases de datos, aplicaciones instaladas, rutas de plantillas, configuraciones de seguridad, etc.
    • urls.py: Contiene las configuraciones de las URLs del proyecto, es decir, cómo se manejan las solicitudes y se mapean a las vistas.
    • asgi.py y wsgi.py: Son archivos de configuración para el servidor ASGI (Asynchronous Server Gateway Interface) y WSGI (Web Server Gateway Interface), respectivamente. Estos archivos son utilizados por servidores web para servir la aplicación Django.
  • otras_aplicaciones/: Este directorio es opcional y se utiliza para organizar aplicaciones adicionales desarrolladas para el proyecto. Cada aplicación puede tener su propia estructura de directorios.

Creación de una Aplicación en Django

Una aplicación es un componente reutilizable de un proyecto Django. Comando para crear una nueva aplicación:

python manage.py startapp nombre_app

Estructura de directorios de una aplicación:

nombre_app/
│   migrations/
│   │   ...
│   │   __init__.py
│   │
│   │   admin.py
│   │   apps.py
│   │   models.py
│   │   tests.py
│   │   views.py
  • nombre_app/: Es el directorio raíz de la aplicación. Contiene archivos esenciales y directorios para el funcionamiento de la aplicación.

  • migrations/: Este directorio es generado automáticamente por Django cuando se realizan cambios en los modelos de la aplicación. Contiene archivos de migración que representan los cambios en la base de datos.

  • init.py: Este archivo indica a Python que el directorio es un paquete y permite la importación de módulos dentro de él.

  • admin.py: En este archivo se pueden registrar los modelos de la aplicación para que aparezcan en el panel de administración de Django.

  • apps.py: Es el archivo donde se define la configuración de la aplicación, como su nombre y configuraciones adicionales.

  • models.py: Aquí se definen los modelos de la aplicación utilizando la clase “Model” de Django. Los modelos representan las tablas en la base de datos y definen los campos y relaciones de la aplicación.

  • tests.py: Es el archivo donde se pueden escribir pruebas unitarias y de integración para la aplicación.

  • views.py: Contiene las vistas de la aplicación, que son funciones o clases que manejan las solicitudes y generan las respuestas. Las vistas determinan qué se muestra en las páginas web de la aplicación.

Ejemplo Práctico:

Creación de un Proyecto de E-commerce en Django

En esta actividad práctica, crearás un nuevo proyecto de e-commerce en Django desde cero. Asegúrate de tener Django instalado en tu entorno de desarrollo antes de comenzar.

Paso 1: Crear un Proyecto de Django

Abre una terminal o línea de comandos en la ubicación donde desees crear tu proyecto de e-commerce.

Ejecuta el siguiente comando para crear un nuevo proyecto Django llamado “mi_ecommerce”:

django-admin startproject mi_ecommerce

Verás que se ha creado un nuevo directorio llamado “mi_ecommerce” que contiene la estructura inicial del proyecto.

Paso 2: Crear una Aplicación para el E-commerce

Cambia al directorio recién creado “mi_ecommerce”:

cd mi_ecommerce

Ahora, crea una nueva aplicación llamada “ecommerce” utilizando el siguiente comando:

python manage.py startapp ecommerce

Se creará un nuevo directorio “ecommerce” dentro de tu proyecto, que contendrá todos los archivos necesarios para la aplicación.

Paso 3: Configurar el Proyecto y la Aplicación

Abre el archivo “settings.py” ubicado en el directorio “mi_ecommerce/mi_ecommerce”.

Asegúrate de agregar la aplicación “ecommerce” en la lista de “INSTALLED_APPS” para que Django la reconozca:

INSTALLED_APPS = [
    # Otras aplicaciones...
    'ecommerce',
]

Paso 4: Ejecutar el Servidor de Desarrollo

Ahora, ejecuta el servidor de desarrollo para ver el proyecto en acción:

python manage.py runserver

Abre tu navegador y visita la dirección “http://localhost:8000/”. Deberías ver la página de bienvenida de Django.

Si has llegado a este punto, ¡Felicidades! Has creado con éxito un nuevo proyecto de e-commerce en Django y una aplicación llamada “ecommerce”. Ahora puedes comenzar a desarrollar las funcionalidades del e-commerce y diseñar las diapositivas para cada uno de los módulos del curso.

¡Buena suerte!

Actividad Práctica.

Creación de Un Blog

En esta actividad práctica, crearás un nuevo proyecto de Blog en Django desde cero. Asegúrate de tener Django instalado en tu entorno de desarrollo antes de comenzar.

  • Iniciar un Repositorio
  • Crear el entorno virtual
  • Activación del entorno virtual
  • Instalación de Django
  • Crear el archivo requirements.txt
  • Agregar el archivo .gitignore
  • Crear un Proyecto con Django
  • Crear la App dentro del Proyecto
  • Agregar la App al Archivo settings.py del Proyecto
  • Correr el Servidor de Pruebas

Resolución de la Actividad Práctica:

Para crear el proyecto de Blog en Django y completar las actividades prácticas, sigue los siguientes pasos:

Paso 1: Iniciar un Repositorio

Inicia un nuevo repositorio en tu sistema de control de versiones (por ejemplo, en GitHub) para gestionar el código de tu proyecto.

Paso 2: Crear el Entorno Virtual

Crea un nuevo entorno virtual para aislar las dependencias del proyecto y evitar conflictos con otras aplicaciones Python instaladas en tu sistema.

# Ejecutar en la terminal o consola
python -m venv mi_entorno_virtual

Paso 3: Activación del Entorno Virtual

Activa el entorno virtual antes de instalar Django o trabajar en el proyecto.

# En Windows
mi_entorno_virtual\Scripts\activate

# En macOS o Linux
source mi_entorno_virtual/bin/activate

Paso 4: Instalación de Django

Dentro del entorno virtual, instala Django utilizando pip.

# Ejecutar en la terminal o consola
pip install django

Paso 5: Crear el Archivo requirements.txt

Crea un archivo “requirements.txt” en la raíz del proyecto para almacenar todas las dependencias de Python utilizadas en el proyecto.

# requirements.txt
Django==4.2.3

Paso 6: Agregar el Archivo .gitignore

Crea un archivo “.gitignore” en la raíz del proyecto para evitar que los archivos y directorios innecesarios se incluyan en el repositorio.

# .gitignore
mi_entorno_virtual/
__pycache__/
*.pyc
db.sqlite3

Paso 7: Crear un Proyecto con Django

Crea un nuevo proyecto de Django llamado “mi_blog”.

# Ejecutar en la terminal o consola
django-admin startproject mi_blog

Paso 8: Crear la App dentro del Proyecto

Crea una nueva aplicación llamada “blog” dentro del proyecto “mi_blog”.

# Ejecutar en la terminal o consola
cd mi_blog
python manage.py startapp blog

Paso 9: Agregar la App al Archivo settings.py del Proyecto

Abre el archivo “settings.py” en la carpeta “mi_blog” y agrega la aplicación “blog” a la lista de aplicaciones instaladas.

# settings.py

INSTALLED_APPS = [
    ...
    'blog',
]

Paso 10: Correr el Servidor de Pruebas

Para verificar que todo está configurado correctamente, inicia el servidor de pruebas de Django.

# Ejecutar en la terminal o consola
python manage.py runserver

Ahora podrás acceder a la página de inicio de Django en tu navegador web en la dirección “http://127.0.0.1:8000/”.

Con estos pasos, has creado un nuevo proyecto de Blog en Django, configurado un entorno virtual, instalado Django y creado una nueva aplicación dentro del proyecto. Ahora estás listo para comenzar a desarrollar tu blog utilizando Django.