🛠 Unidad ISS-02 · Apps client, product y sale — capa 🛠 CONSTRUIR
🧠 Comprender este bloque → · ✅ GATE de la unidad
Capa Página Para qué 🧠 Aprender Guía de estudio comprender, explicar y relacionar 🛠 Construir esta página ejecutar, programar y verificar ✅ GATE Condiciones de cierre condición para pasar al bloque siguiente Esta es la guía ejecutable. El cuerpo de abajo es el ISS técnico verbatim: comandos, rutas, versiones, verificaciones y criterios, sin simplificar.
ISS-02 — Apps client, product y sale
Objetivo
Crear las tres apps de negocio con la CLI y registrarlas dentro del paquete apps.
Requisitos
- ISS-01 superado.
- Todavía no se escriben modelos. El Custom User del ISS-03 debe existir antes de migrar.
Construcción
mkdir -p apps/client apps/product apps/sale
python manage.py startapp client apps/client
python manage.py startapp product apps/product
python manage.py startapp sale apps/sale
startapp exige que el directorio destino ya exista. No se copian models.py, admin.py ni views.py a mano: la CLI los deja. urls.py no lo crea; aparecerá cuando haya endpoints.
apps/__init__.py es nuevo y va vacío, para que apps sea un paquete:
Cada apps.py ya existe. Se parchea el name. El de client:
ARCHIVO: apps/client/apps.py
UBICAR:
name = "client"
REEMPLAZAR POR:
name = "apps.client"
label = "client"
El mismo parche en apps/product/apps.py (name = "apps.product", label = "product") y en apps/sale/apps.py (name = "apps.sale", label = "sale"). La clase se llama ClientConfig, ProductConfig o SaleConfig según la app. No se cambia ese nombre.
config/settings/__init__.py ya existe. Se agregan las tres apps al final de la lista, todavía sin security:
ARCHIVO: config/settings/__init__.py
DEBAJO DE:
"django.contrib.staticfiles",
AGREGAR:
"apps.client.apps.ClientConfig",
"apps.product.apps.ProductConfig",
"apps.sale.apps.SaleConfig",
Explicación
Django supone que la app está en la raíz del proyecto. Al vivir en apps/, AppConfig.name debe ser apps.client. El label se deja en client para que las migraciones no arrastren el nombre del paquete. Cada app conserva un solo nombre, igual al dominio: client, product y sale.
Criterios de aceptación
- AC-02-01: las tres apps fueron creadas con
startapp. - AC-02-02:
python manage.py checkno reporta apps mal registradas. - AC-02-03: en este ISS todavía no hay modelos de negocio.
Verificación
Evidencias
- EVI-02-01:
System check identified no issuesen el entorno final.
GATE
| AC | Verificación | Evidencia | Resultado |
|---|---|---|---|
| AC-02-01 | directorios de las apps | árbol del repositorio | PASS |
| AC-02-02 | check | EVI-02-01 | PASS |
| AC-02-03 | este capítulo no escribe modelos | revisión del ISS | PASS |
✅ GATE de la unidad ISS-02 — este bloque no añade ningún criterio nuevo.
Las condiciones de cierre son las de esta misma página:
- 📋 Criterios de aceptación → Criterios de aceptación
- ✅ GATE → GATE
- 🔎 Verificación → Verificación
- 🧠 Autoevaluación → Evaluación del cuaderno
Con el GATE en verde queda habilitado el bloque siguiente de la ruta.
Navegación de la ruta: ← ISS-02 · 🧠 Aprender · ↑ Ruta Django · → ISS-03 · 🧠 Aprender