Contenido del curso

Desarrollo de Aplicaciones en Django

Preparando un proyecto Django para AWS

Resumen

Antes de subir un proyecto Django a un servidor en AWS, conviene auditar dependencias, rutas, documentación y formato de código. Esta preparación evita errores en producción y facilita que otros desarrolladores entiendan y ejecuten el proyecto en sus máquinas.

¿Cómo validar el archivo requirements.txt antes de un deploy?

El primer paso es asegurarte de que todas las librerías usadas en el proyecto estén listadas con la versión correcta. Para eso ejecutas pip install -r seguido del path del archivo y observas si aparece algún error.

En la clase, al instalar las dependencias apareció un error porque la versión de Django Rest Framework no existía. Para encontrar la versión real instalada se usa pip freeze, que lista todos los paquetes con su versión exacta. Copias esa versión y la pegas en el archivo.

Faltaban también dos librerías clave que se habían usado en el proyecto: Django Environment para manejar variables de entorno y SQLAlchemy para conectar la base de datos. Ambas se agregan al requirements.txt y se vuelve a instalar.

¿Qué hace pip freeze? Lista todas las librerías instaladas en tu entorno con la versión exacta. Es útil para saber qué versión copiar al requirements.txt cuando no la recuerdas. [01:00]

¿Cómo cambiar la URL del home en un proyecto Django?

Si al abrir la raíz del proyecto te devuelve un 404, significa que ninguna ruta está atendiendo esa URL. La solución es ajustar el archivo urls.py del proyecto.

Para que la lista de productos aparezca en el home, debes:

  • Remover el prefijo productos/ de la ruta.
  • Eliminar el slash inicial.
  • Mover esa línea al principio del archivo de URLs.

Django valida las rutas una por una en orden, así que la primera regla que coincida gana. Al dejar la ruta vacía arriba, la raíz del sitio carga directamente la lista de productos. Después corres manage.py runserver y verificas que la home muestre el listado y que pedidos siga funcionando.

¿Por qué incluir un archivo README en tu proyecto?

Un README.md es la puerta de entrada para cualquier desarrollador que abra tu repositorio. Sirve para explicar de qué se trata el proyecto, cómo clonarlo y qué pasos seguir para ejecutarlo localmente.

En un proyecto con varias aplicaciones, como una de users y otra de products, el README también describe brevemente la responsabilidad de cada módulo. Se crea en el root del proyecto con la extensión .md (Markdown) y suele incluir:

  • Requerimientos técnicos del proyecto.
  • Link y comando para clonar el repositorio.
  • Pasos para configurar el entorno y la base de datos.
  • Descripción corta de cada aplicación.

¿Qué es un archivo Markdown? Es un archivo de texto plano con extensión .md que usa una sintaxis simple para dar formato a títulos, listas y enlaces. Es el estándar para documentar repositorios.

¿Cómo unificar el formato de código en Python con Black?

Cuando varios desarrolladores trabajan en un proyecto, es común encontrar inconsistencias: un archivo usa comillas simples y otro comillas dobles, la indentación varía, los espacios cambian. Ahí entra Black, un formateador automático para Python.

Black aplica el estilo de PEP 8, la guía oficial de estilo de Python que utilizan la mayoría de proyectos del ecosistema. Esto te ahorra discusiones sobre formato y deja todos los archivos con la misma apariencia.

Para usarlo en este proyecto:

  1. Asegúrate de tener Black listado en requirements-dev.txt.
  2. Instala las dependencias de desarrollo con pip install -r requirements-dev.txt.
  3. Ejecuta el comando black en la raíz del proyecto.

Al correrlo, Black recorre los archivos y reformatea los que no cumplen con PEP 8. En la clase, al ejecutarlo se modificaron casi todos los archivos del proyecto para dejar las comillas, los espacios y la indentación uniformes. [03:30]

¿Qué es PEP 8? Es la guía oficial de estilo de código en Python. Define convenciones para indentación, longitud de línea, nombres de variables y uso de espacios. Black aplica estas reglas automáticamente.

Próximo paso antes del deploy en AWS

Con el requirements.txt completo, la URL del home apuntando a productos, un README.md claro y el código formateado con Black, el proyecto queda listo para subirse a un servidor. Para la siguiente clase necesitas tener tu cuenta de AWS creada y activa.

Mientras tanto, te invito a revisar la aplicación y buscar otros bugs. Si encuentras algún error, compártelo en los comentarios para que otros estudiantes también lo detecten.