Django instalación · 10 min read · Oct 19, 2025
Guía para instalar el marco web Django en Debian 12

Django es un marco web de Python gratuito y de código abierto utilizado para desarrollar sitios web y aplicaciones dinámicas. Se utiliza para el desarrollo de aplicaciones Python complejas y basadas en bases de datos.
Django sigue la arquitectura MVC (Modelo-Vista-Controlador), que permite a los desarrolladores escribir menos código y crear un nuevo sitio web en poco tiempo. Django se puede instalar en cualquier sistema operativo que ejecute Python, incluidos Windows, macOS, Linux/Unix y Solaris.
Esta guía te mostrará cómo instalar el marco web Django en un servidor Debian 12. Comenzarás con Django creando tu primer proyecto Django utilizando PostgreSQL como la base de datos predeterminada, el servidor WSGI Gunicorn y Nginx como un proxy inverso.
Prerrequisitos
Para comenzar, asegúrate de tener lo siguiente:
- Una máquina Debian 12.
- Un usuario no root con privilegios de administrador sudo.
Instalando Dependencias
En el primer paso, instalarás las dependencias de paquetes para tu instalación del marco web Django, esto incluye los siguientes paquetes:
- Servidor PostgreSQL: Por defecto, Django utiliza SQLite, y este ejemplo te mostrará cómo usar PostgreSQL como la base de datos para tu proyecto Django.
- Supervisor: Es un administrador de procesos, y ejecutarás tu aplicación Django con Gunicorn y Supervisor.
- Servidor web Nginx: Este ejemplo te mostrará cómo usar Nginx como un proxy inverso para tu proyecto Django. Esto permite que tu proyecto Django sea accesible a través de un nombre de dominio local.
Primero, ejecuta el comando apt a continuación para actualizar y refrescar tu índice de paquetes.
sudo apt updateAhora instala las dependencias de paquetes como el entorno virtual de Python, el administrador de paquetes pip, PostgreSQL y el controlador libpq5, Nginx y Supervisor.
sudo apt install build-essential python3-dev python3-pip python3-venv nginx supervisor postgresql libpq5 libpq-devEscribe y para confirmar y proceder con la instalación.

Una vez que las dependencias estén instaladas, ejecuta los siguientes comandos para verificar los servicios de PostgreSQL, Nginx y Supervisor y asegurarte de que esos servicios estén en funcionamiento y habilitados.
Verifica el servicio de PostgreSQL usando el comando a continuación.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlSi PostgreSQL está en funcionamiento y habilitado, deberías obtener la siguiente salida.

Verifica el servicio de Nginx usando el comando a continuación.
sudo systemctl is-enabled nginx
sudo systemctl status nginxSi Nginx está en funcionamiento y habilitado, a continuación está la salida que deberías obtener.

Por último, verifica el Supervisor usando el siguiente comando.
sudo systemctl is-enabled supervisor
sudo systemctl status supervisorDeberías ver que el Supervisor está en funcionamiento y habilitado.

Instalando Django a través de Pip
El marco web Django se puede instalar de diferentes maneras, incluyendo manualmente a través de Git, a través del administrador de paquetes Pip de Python, o combinado con un entorno aislado con el módulo venv y Pip. En este ejemplo, instalarás Django a través del administrador de paquetes Pip en el entorno virtual de Python aislado.
Inicia sesión en tu usuario a través del comando a continuación.
su - usernameAhora crea un nuevo directorio de proyecto ~/testdjango y muévete a él.
mkdir -p ~/testdjango; cd ~/testdjangoA continuación, ejecuta el siguiente comando para crear un nuevo entorno virtual de Python llamado venv en tu directorio de proyecto actual.
python3 -m venv venvLuego actívalo usando el comando a continuación. Una vez que el entorno virtual esté activado, tu aviso actual se convertirá en (venv) bob@hostname:.
source venv/bin/activate
Dentro del entorno virtual venv, ejecuta el comando pip a continuación para instalar el marco web Django. Esto instalará Django bajo tu entorno virtual de Python, no a nivel del sistema.
pip install django
or
pip install django==4.2.4A continuación, la instalación de Django está en ejecución.

Verifica tu versión de Django una vez que la instalación haya finalizado usando el comando django-admin a continuación.
django-admin --versionLa siguiente salida confirma que Django 4.2.4 está instalado dentro del entorno virtual venv a través del administrador de paquetes Pip de Python.
Creando el Primer Proyecto Django
Esta sección te enseñará cómo crear el primer proyecto Django y usar el servidor PostgreSQL como su base de datos predeterminada. Para lograrlo, completa los siguientes pasos:
- Preparar base de datos y usuario.
- Crear Proyecto Django a través de django-admin.
- Migrar base de datos y generar archivos estáticos.
- Crear usuarios administradores y ejecutar Django.
Preparar Base de Datos y Usuario
Ejecuta el comando pip a continuación para instalar el paquete de Python psycopg2 en tu entorno virtual. Este es el controlador de Python que será utilizado por Django para conectarse al servidor de base de datos PostgreSQL.
pip install psycopg2
exit
Ahora ejecuta el siguiente comando para iniciar sesión en el shell de PostgreSQL.
sudo -u postgres psqlEjecuta las siguientes consultas para crear una nueva base de datos y usuario para tu proyecto Django. El siguiente ejemplo creará una nueva base de datos djangodb, usuario django, y la contraseña p4ssw0rd.
CREATE USER django WITH PASSWORD 'p4ssw0rd';
CREATE DATABASE djangodb OWNER django;
A continuación, ejecuta las siguientes consultas para verificar la lista de bases de datos y usuarios en tu servidor PostgreSQL.
du
lDeberías ver que la base de datos djangodb y el usuario django están creados.

Escribe quit para salir del servidor PostgreSQL.
Creando Proyecto Django
Antes de crear el proyecto Django, inicia sesión en tu usuario y activa el entorno virtual venv.
su - bob
cd testdjango; source venv/bin/activatePara crear un nuevo proyecto Django, ejecuta el comando django-admin a continuación. En este caso, crearás un nuevo proyecto testapp en tu directorio de trabajo actual.
django-admin startproject testapp .Una vez que se crea el proyecto, se creará el nuevo directorio testapp en tu directorio de trabajo.

A continuación, ejecuta el siguiente comando para generar un secreto aleatorio para tu proyecto Django. Asegúrate de copiar la salida, porque la usarás para asegurar tu instalación de Django.
python3 -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'Ahora usa tu editor preferido y abre el archivo testapp/settings.py.
nano testapp/settings.pyEn la parte superior de la línea, inserta la siguiente configuración.
import osInserta tu clave secreta en el parámetro SECRET_KEY.
SECRET_KEY = 'fzahzbm*wrxoleqb0^-3%%tf^y!b6lsc5-c#2^@#s6gkyrl2ef'Introduce tu dirección IP local y nombre de dominio local en el parámetro ALLOWED_HOSTS.
ALLOWED_HOSTS = ['127.0.0.1','192.168.10.15','first-django.dev']Cambia la configuración de base de datos predeterminada con los detalles del servidor PostgreSQL de la siguiente manera:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'djangodb',
'USER': 'django',
'PASSWORD': 'p4ssw0rd',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}Por último, añade el parámetro STATIC_ROOT para definir un directorio para almacenar archivos estáticos.
STATIC_ROOT = os.path.join(BASE_DIR, "static/")Guarda el archivo y sal del editor cuando termines.
Migrando Base de Datos y Generando Archivos Estáticos
Antes de migrar la base de datos, ejecuta el siguiente comando para asegurarte de que tienes la configuración de base de datos adecuada.
python3 manage.py check --database defaultSi no hay error, ejecuta el siguiente comando para migrar la base de datos.
python3 manage.py makemigrations
python3 manage.py migrateSi todo va bien, deberías ver el proceso de migración de la base de datos como este:

Por último, ejecuta el siguiente comando para generar archivos estáticos para tu proyecto Django. Después de que se ejecute el comando, se creará el nuevo directorio static y se generarán archivos estáticos en él.
python3 manage.py collectstaticA continuación está la salida al generar archivos estáticos.
Creando Usuario Administrador y Ejecutando Django
Ejecuta el siguiente comando para crear el usuario administrador para tu proyecto Django.
python3 manage.py createsuperuserIntroduce tu dirección de correo electrónico y contraseña cuando se te solicite.

Una vez que se crea el usuario administrador, ejecuta el comando a continuación para ejecutar tu proyecto Django.
python3 manage.py runserver 0.0.0.0:8080Después de que se ejecute el comando, tu proyecto Django se ejecutará en tu dirección IP local en el puerto 8080.

Ahora abre tu navegador web y visita la dirección IP del servidor seguida del puerto 8080, http://192.168.10.15:8080/. Si tu instalación de Django es exitosa, deberías ver la página predeterminada index.html de Django como la siguiente:

Ahora accede a tu administración de Django a través de la ruta URL /admin, http://192.168.10.15:8080/admin. Introduce tu usuario y contraseña de administrador de Django, luego haz clic en Iniciar Sesión.

Deberías ver un ejemplo de un panel de usuario de Django como este:

Presiona Ctrl+c para terminar el proceso.
Ejecutando Django con Gunicorn y Supervisor
En este punto, has terminado la instalación de Django y creado tu primer proyecto Django. En el siguiente paso, configurarás Django para que se ejecute en segundo plano utilizando el servidor WSGI Gunicorn y el administrador de procesos Supervisor.
Instalando Gunicorn
Dentro del entorno virtual venv, ejecuta el comando pip a continuación para instalar gunicorn.
pip install gunicorn
Ahora ejecuta el siguiente comando para desactivar el entorno virtual venv y volver a tu usuario root.
deactivate
exitEjecutando Django con Gunicorn y Supervisor
Crea una nueva configuración de supervisor /etc/supervisor/conf.d/testapp.conf usando el siguiente comando del editor nano.
sudo nano /etc/supervisor/conf.d/testapp.confInserta la siguiente configuración y asegúrate de cambiar la información detallada del nombre de la aplicación, la ruta del proyecto y el usuario con tu información. En este ejemplo, ejecutarás tu proyecto Django bajo el socket UNIX /home/bob/testdjango/testapp.sock.
[program:testapp]
command=/bin/bash -c 'source /home/bob/testdjango/venv/bin/activate; gunicorn -t 3000 --workers 3 --bind unix:unix:/home/bob/testdjango/testapp.sock testapp.wsgi:application -w 2'
directory=/home/bob/testdjango
user=bob
group=www-data
autostart=true
autorestart=true
stdout_logfile=/home/bob/testdjango/testapp.log
stderr_logfile=/home/bob/testdjango/error.logGuarda y cierra el archivo cuando termines.
Por último, ejecuta el siguiente comando para reiniciar el servicio de supervisor y aplicar los cambios. Luego, verifica el servicio del supervisor para asegurarte de que el servicio esté en funcionamiento.
sudo systemctl restart supervisor
sudo systemctl status supervisor
Verificando Django a través de Supervisorctl
Ejecuta el comando supervisorctl a continuación para verificar el estado de la aplicación que se está ejecutando dentro del supervisor.
sudo supervisorctl statusDeberías ver que la aplicación testapp está en funcionamiento en PID 2577.
Por último, verifica tu aplicación Django a través del comando curl a continuación.
curl --unix-socket /home/bob/testdjango/testapp.sock 127.0.0.1Si todo va bien, deberías ver el código fuente de la página index.html de tu proyecto Django.

Configurando Nginx como un Proxy Inverso para Django
Ahora que tu proyecto Django se está ejecutando en segundo plano, el siguiente paso es configurar Nginx como un proxy inverso para Django. El siguiente ejemplo utilizará un nombre de dominio local.
Crea una nueva configuración de bloque de servidor Nginx /etc/nginx/sites-available/django usando el siguiente comando del editor nano.
sudo nano /etc/nginx/sites-available/djangoInserta la siguiente configuración y asegúrate de cambiar el nombre de dominio en el parámetro server_name.
server {
listen 80;
server_name first-django.dev;
location = /favicon.ico { access_log off; log_not_found off; }
try_files $uri @django;
location /static {
alias /home/bob/testdjango/static/;
}
location @django {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/bob/testdjango/testapp.sock;
}
}Guarda y cierra el archivo cuando termines.
Ahora ejecuta el siguiente comando para activar el bloque de servidor /etc/nginx/sites-available/django, luego verifica la sintaxis de Nginx para asegurarte de que tienes la sintaxis adecuada.
sudo ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/
sudo nginx -tDeberías obtener la salida syntax is ok - test is successful cuando tengas la sintaxis adecuada de Nginx.
Por último, reinicia tu servicio de Nginx ejecutando el siguiente comando y aplicando los cambios que has realizado.
sudo systemctl restart nginxCon esto, tu proyecto Django es accesible a través de un nombre de dominio local.
En tu máquina local, edita el archivo /etc/hosts para Linux o C:\Windows\System32\drivers\etc\hosts para Windows. Luego, define tu dirección IP del servidor y nombre de dominio como el siguiente.
192.168.10.15 first-django.devGuarda y cierra el archivo cuando termines.
Vuelve a tu navegador web y visita tu nombre de dominio local, deberías ver la página predeterminada index.html de tu proyecto Django.
Conclusión
En resumen, siguiendo esta guía paso a paso, has instalado el marco web Django con PostgreSQL, Nginx, Gunicorn y Supervisor en Debian 12. Has aprendido cómo crear un proyecto Django con PostgreSQL como la base de datos predeterminada y ejecutar Django con Gunicorn y Supervisor. Ahora puedes crear y desarrollar tu aplicación con Django.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.