0Pricing
Django Academy · Lección

Puntos de entrada, migraciones y collectstatic

Ejecute los pasos iniciales dentro del contenedor

Puntos de entrada, migraciones y collectstatic es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Startup Steps Matter

Before serving traffic, a container often needs to run migrations and gather static files. Let's automate those startup steps. ⚙️

What an Entrypoint Is

An entrypoint is a script that runs every time the container starts, right before your main command takes over.

Write the Script

Create entrypoint.sh with a shebang line, so the container knows to run it with the shell.

#!/bin/sh
set -e

Apply Migrations on Boot

Run migrate inside the entrypoint, so your database schema is always current when the app starts.

python manage.py migrate --noinput

Gather Static Files

Run collectstatic to copy CSS and JS into one folder that your server can serve in production.

python manage.py collectstatic --noinput

Hand Off with exec

End the script with exec so your app becomes process 1 and receives stop signals cleanly.

exec "$@"

Make It Executable

Set the script as executable in your Dockerfile so the container can actually run it on startup.

RUN chmod +x entrypoint.sh

Wire It in the Dockerfile

Point ENTRYPOINT at your script, then keep CMD as the command it should run last.

ENTRYPOINT ["./entrypoint.sh"]
CMD ["gunicorn", "config.wsgi"]

Why --noinput

The --noinput flag stops Django from pausing for prompts, which is essential for unattended container startups.

Wait for the Database

Postgres may boot slowly, so it helps to wait for the db port before migrating to avoid connection errors.

until nc -z db 5432; do sleep 1; done

Watch the Logs

Use docker compose logs to confirm migrations ran and static files were collected on startup.

docker compose logs -f web

Quick Check

Why end an entrypoint script with exec on the main command?

Recap

Your entrypoint now runs migrate and collectstatic with --noinput, waits for the db, then execs the app as PID 1. Boot-ready every time. ✅

Preguntas frecuentes

¿La lección «Puntos de entrada, migraciones y collectstatic» es gratis?

Sí — el texto completo de «Puntos de entrada, migraciones y collectstatic» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Puntos de entrada, migraciones y collectstatic»?

Ejecute los pasos iniciales dentro del contenedor Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Django Academy?

No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Puntos de entrada, migraciones y collectstatic»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Django Academy?

Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Escritura de un Dockerfile para Django
  2. docker-compose con Postgres y Redis
  3. Puntos de entrada, migraciones y collectstatic
  4. Buenas prácticas para imágenes de producción
← Volver a Django Academy