D/ DJANGO CON CRITERIO

UNIDAD 1 · FUNDAMENTOS Y ARQUITECTURA

Preparar el proyecto y el entorno

Crea una base reproducible para trabajar en Windows o Linux.

Ilustración: Una mesa de trabajo reproducible
Una mesa de trabajo reproducible

CAPÍTULO 1 · Un equipo, una base común

La primera página todavía vive en un solo computador

Pasar de la idea a la terminal parece un paso pequeño, pero es donde empezamos a decidir cómo trabajará el equipo. Si instalamos paquetes sin distinguir a qué proyecto pertenecen, cada computador puede terminar con una combinación diferente. Quizás SensorHub arranque en el mío y falle en el de quien intenta ayudarme. Antes de agregar funciones necesitamos que el comienzo sea repetible.

Creamos un entorno virtual e instalamos allí las dependencias. Con startproject aparece la estructura inicial de Django; con manage.py ejecutamos los comandos del proyecto. Ver la primera página mediante runserver confirma que el entorno y la configuración básica pueden trabajar juntos. Es una comprobación local, todavía lejos de demostrar que el servicio está preparado para un cliente.

Dejamos las dependencias en requirements.txt para reconstruir ese entorno sin copiar el venv. Ya tenemos una primera versión que funciona, pero permanece ligada a una carpeta de nuestro computador. El siguiente problema es compartirla, reconocer sus cambios y conservar un punto al que podamos regresar.

Leer esta parte dentro del relato completo →

DEL RELATO A LA PRÁCTICA

Vamos a desarrollar esta decisión con su mapa, explicación, código y ejercicio.

MIRA · CONECTA · COMPRENDE

Una mesa de trabajo reproducible

Una mesa de trabajo reproducible1. Entorno: Aísla dependencias; 2. Proyecto: Crea estructura y configuración; 3. Dependencias: Declara el stack; 4. Arranque: Verifica instalación limpia01EntornoAísla dependencias02ProyectoCrea estructura y configuración03DependenciasDeclara el stack04ArranqueVerifica instalación limpia

Las flechas resumen el recorrido conceptual. Los controles y dependencias se detallan debajo.

Selecciona una pieza para destacar su responsabilidad.

Leer la explicación del mapa
  1. Entorno. Aísla dependencias
  2. Proyecto. Crea estructura y configuración
  3. Dependencias. Declara el stack
  4. Arranque. Verifica instalación limpia
Descargar gráfico SVG ↓

¿Para qué sirve?

Un entorno aislado evita mezclar dependencias de proyectos diferentes. La reproducibilidad depende también de registrar versiones y comandos de arranque.

El concepto, explicado

venv aísla paquetes Python; Git registra código y no el entorno instalado. requirements.txt permite instalar dependencias en una máquina nueva.

manage.py ejecuta comandos del proyecto. startproject crea configuración y startapp una unidad de funcionalidad. No copies un venv de Windows a un servidor Linux.

El punto final de startproject coloca manage.py en la carpeta actual. El entorno virtual es local y se reconstruye desde dependencias, no se publica. Si Activate.ps1 está restringido, puedes llamar directamente .venv\Scripts\python.exe sin cambiar políticas del equipo.

Implementación paso a paso

  1. Si te incorporas, clona y sigue el README; no vuelvas a ejecutar startproject.
  2. Para un proyecto nuevo, crea y selecciona .venv en VS Code.
  3. Instala Django en una versión compatible y registra dependencias.
  4. Ejecuta python -m django startproject config . desde la raíz.
  5. Comprueba python manage.py check y runserver antes de agregar apps.

Ejemplo en SensorHub

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install Django djangorestframework
django-admin startproject config .
python manage.py startapp catalogo
python manage.py startapp telemetria
pip freeze > requirements.txt
python manage.py migrate
python manage.py runserver
# Abrir http://127.0.0.1:8000/
# runserver es para desarrollo; Gunicorn se estudia al publicar en Linux.

Cómo leer el ejemplo

  • Estos comandos se ejecutan en PowerShell desde una carpeta vacía.
  • En Linux la activación es source .venv/bin/activate.
  • Comprueba la versión de Python antes de instalar y fija versiones después de validar el entorno.

Error habitual

pip freeze de un entorno ya lleno puede incluir dependencias ajenas. Usa un entorno nuevo y conserva solo lo necesario.

05 / PRACTICAR

Tu turno

Prepara el .gitignore del proyecto.

Ver solución orientativa

.venv/, __pycache__/, *.pyc, .env, db.sqlite3 y staticfiles/ deben quedar fuera. Las migraciones sí se versionan.

Cómo sabes que funciona

  • python manage.py check termina sin errores.
  • Un entorno nuevo instala requirements.txt y arranca.

CONTINUAR LA EXPERIENCIA

El siguiente paso del recorrido:

Git y VS Code: incorporarse al proyecto →Continuar en modo relato