Personalizar el Panel Administrativo de Django
En resumen
Personalizar el panel de administración de Django permite adaptar su idioma, títulos, colores y estilos a las necesidades del proyecto. Además, es posible utilizar temas de terceros como django-admin-interface para modificar su apariencia de forma sencilla.
Django es conocido por su rapidez en el desarrollo y su potente sistema de administración listo para usarse. Desde el momento en que creas un nuevo proyecto con Django, el panel de administración se configura automáticamente, ofreciendo una interfaz para gestionar modelos, usuarios, permisos y mucho más.
Sin embargo, es común que, a medida que avanzamos en el desarrollo de nuestra aplicación, necesitemos personalizar este panel para adaptarlo a las necesidades específicas de nuestro proyecto. Afortunadamente, Django facilita esta personalización tanto en términos de apariencia como de funcionalidad.
Setup¶
1. Nuevo proyecto¶
A continuación, selecciona tu plataforma y sigue los pasos indicados para configurar un nuevo proyecto con Django.
Si ya tienes un proyecto
Las siguientes instrucciones están pensadas para configurar un proyecto Django desde cero. Si ya tienes un proyecto Django creado y configurado, no despliegues esta sección y continúa con el siguiente paso del post.
Ver Instrucciones
1. Abrir el símbolo de sistema
Presiona Win+R para abrir la ventana Ejecutar.
Escribe cmd y presiona Enter para abrir el Símbolo del sistema (CMD).
Abrir el símbolo del sistema (CMD)
2. Ir a la ubicación deseada
Una vez que tengas el CMD abierto, usa el comando cd para navegar a la carpeta donde deseas crear tu proyecto. Por ejemplo, si deseas ir a la carpeta Documentos:
cd %UserProfile%\Documents #(1)!
- Ingresa a la carpeta Documentos del usuario actual.
3. Crear la carpeta del proyecto y acceder a ella
Ejecuta el siguiente comando reemplazando mi-proyecto por el nombre deseado:
mkdir //PROJECT// #(1)!
cd //PROJECT// #(2)!
- Crea la carpeta del proyecto
- Ingresa a la carpeta creada anteriormente
4. Crear el entorno virtual
Ejecuta el siguiente comando para crear un entorno virtual en la carpeta del proyecto:
python -m venv .venv #(1)!
- Crea un entorno virtual de Python llamado
.venv.
5. Activar el entorno virtual
Ejecuta el siguiente comando para activar el entorno virtual:
.\.venv\Scripts\activate
Una vez activado, deberías ver (.venv) al comienzo de la línea de comandos.
(.venv) C:\Users\mcherrera\nuevo-proyecto
Ahora tenemos un entorno limpio y listo para trabajar.
6. Instalar Django en el entorno virtual
Una vez que el entorno virtual está activado, instala Django con el siguiente comando:
(.venv) pip install django
7. Generar un nuevo
Con la herramienta django-admin y el comando startproject se puede generar automáticamente la estructura inicial de un nuevo proyecto Django.
(.venv) django-admin startproject _site .
Utilizamos un punto . al final del comando para generar el proyecto en el directorio actual, evitando que Django cree una carpeta adicional con el nombre del proyecto.
8. Archivos del proyecto
Una vez generado, tendrás disponible el archivo manage.py en el proyecto:
mi-proyecto
├── _site
│ ├── __init__.py #(1)!
│ ├── asgi.py #(2)!
│ ├── settings.py #(3)!
│ ├── urls.py #(4)!
│ └── wsgi.py #(5)!
├── .venv #(6)!
└── manage.py #(7)!
- Inicializa el paquete Python del proyecto Django.
- Configura el punto de entrada ASGI para servidores asíncronos.
- Contiene la configuración principal del proyecto Django.
- Define las rutas y URLs del proyecto.
- Configura el punto de entrada WSGI para servidores web tradicionales.
- Contiene el entorno virtual de Python del proyecto.
- Permite administrar el proyecto mediante comandos de Django.
El archivo manage.py permite administrar y ejecutar distintas tareas del proyecto Django, como iniciar el servidor de desarrollo, ejecutar migraciones y crear aplicaciones.
1. Abrir la terminal
Presiona las teclas Ctrl+Alt+T o busca Terminal en tu lanzador de aplicaciones para abrir una nueva Terminal.
Abrir Terminal en Linux
2. Navegar a la ubicación deseada
Una vez que tengas la terminal abierta, usa el comando cd para navegar a la carpeta donde deseas crear el proyecto Django. Por ejemplo, ir a Documentos:
cd ~/Documents
3. Crear la carpeta del proyecto y acceder a ella
Ejecuta el siguiente comando reemplazando mi-proyecto por el nombre que deseas:
mkdir //PROJECT// #(1)!
cd //PROJECT// #(2)!
- Crea la carpeta del proyecto
- Ingresa a la carpeta creada anteriormente
4. Crear el entorno virtual
python3 -m venv .venv
5. Activar el entorno virtual
source .venv/bin/activate
Una vez activado, deberías ver (.venv) al comienzo de la terminal.
6. Instalar Django en el entorno virtual
Una vez que el entorno virtual está activado, instala Django con el siguiente comando:
(.venv) pip install django
7. Generar un nuevo
Con la herramienta django-admin y el comando startproject se puede generar automáticamente la estructura inicial de un nuevo proyecto Django.
(.venv) django-admin startproject _site .
Utilizamos un punto . al final del comando para generar el proyecto en el directorio actual, evitando que Django cree una carpeta adicional con el nombre del proyecto.
8. Archivos del proyecto
Una vez generado, tendrás disponible el archivo manage.py en el proyecto:
mi-proyecto
├── _site
│ ├── __init__.py #(1)!
│ ├── asgi.py #(2)!
│ ├── settings.py #(3)!
│ ├── urls.py #(4)!
│ └── wsgi.py #(5)!
├── .venv #(6)!
└── manage.py #(7)!
- Inicializa el paquete Python del proyecto Django.
- Configura el punto de entrada ASGI para servidores asíncronos.
- Contiene la configuración principal del proyecto Django.
- Define las rutas y URLs del proyecto.
- Configura el punto de entrada WSGI para servidores web tradicionales.
- Contiene el entorno virtual de Python del proyecto.
- Permite administrar el proyecto mediante comandos de Django.
El archivo manage.py permite administrar y ejecutar distintas tareas del proyecto Django, como iniciar el servidor de desarrollo, ejecutar migraciones y crear aplicaciones.
1. Abrir la terminal de comandos
Presiona Cmd+Space para abrir Spotlight, luego escribe terminal y presiona Enter
Abrir Terminal en macOS
2. Navegar a la ubicación deseada
Una vez que tengas la terminal abierta, usa el comando cd para navegar a la carpeta donde deseas crear el proyecto Django. Por ejemplo, ir a Documentos:
cd ~/Documents
3. Crear la carpeta del proyecto y acceder a ella
Ejecuta el siguiente comando reemplazando mi-proyecto por el nombre que deseas:
mkdir //PROJECT// #(1)!
cd //PROJECT// #(2)!
- Crea la carpeta del proyecto
- Ingresa a la carpeta creada anteriormente
4. Crear el entorno virtual
python3 -m venv .venv
5. Activar el entorno virtual
source .venv/bin/activate
Una vez activado, deberías ver (.venv) al comienzo de la terminal.
6. Instalar Django en el entorno virtual
Una vez que el entorno virtual está activado, instala Django con el siguiente comando:
(.venv) pip install django
7. Generar un nuevo
Con la herramienta django-admin y el comando startproject se puede generar automáticamente la estructura inicial de un nuevo proyecto Django.
(.venv) django-admin startproject _site .
Utilizamos un punto . al final del comando para generar el proyecto en el directorio actual, evitando que Django cree una carpeta adicional con el nombre del proyecto.
8. Archivos del proyecto
Una vez generado, tendrás disponible el archivo manage.py en el proyecto:
mi-proyecto
├── _site
│ ├── __init__.py #(1)!
│ ├── asgi.py #(2)!
│ ├── settings.py #(3)!
│ ├── urls.py #(4)!
│ └── wsgi.py #(5)!
├── .venv #(6)!
└── manage.py #(7)!
- Inicializa el paquete Python del proyecto Django.
- Configura el punto de entrada ASGI para servidores asíncronos.
- Contiene la configuración principal del proyecto Django.
- Define las rutas y URLs del proyecto.
- Configura el punto de entrada WSGI para servidores web tradicionales.
- Contiene el entorno virtual de Python del proyecto.
- Permite administrar el proyecto mediante comandos de Django.
El archivo manage.py permite administrar y ejecutar distintas tareas del proyecto Django, como iniciar el servidor de desarrollo, ejecutar migraciones y crear aplicaciones.
Una vez que hayas creado y configurado tu proyecto, Django incluye un panel administrativo listo para usarse. Sin embargo, para acceder a él, es necesario completar algunos pasos previos:
3. Ejecutar Migraciones¶
python manage.py migrate
3. Crear un superusuario¶
Para acceder al panel administrativo necesitamos un usuario con permisos de administración.
El superusuario es una cuenta con todos los permisos administrativos del proyecto y se utiliza para iniciar sesión en el panel de administración. Para crear esta cuenta, ejecuta el siguiente comando:
(.venv) python manage.py createsuperuser
(.venv) python manage.py createsuperuser
Username (leave blank to use 'marco'): admin
Email address: admin@admin.cl
Password: ******
Password (again): ******
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
Una vez que hayas completado el comando con la información requerida, se agregará un nuevo administrador a la base de datos. Ahora, reinicia el servidor de desarrollo para probar el inicio de sesión:
(.venv) python manage.py runserver
(.venv) python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
September 06, 2026 - 23:55:22
Django version 6.1.1, using settings '_site.settings'
Starting WSGI development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
For more information on production servers see: https://docs.djangoproject.com/en/6.1/howto/deployment/
Personalización básica¶
1. Cambio de idioma¶
Django viene con soporte para múltiples idiomas. En nuestro caso, desearíamos cambiar el idioma del panel administrativo al español. Para ello, debemos realizar lo siguiente.
| settings.py | |
|---|---|
105 106 107 108 109 110 111 | |
...
├── _site
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── .venv
└── manage.py
2. Cambiar títulos¶
Cuando se ingresa al login del panel de administración, así como al acceder a este, el título que viene por defecto es «Administración de Django», que aparece en la parte superior. Para cambiar este título, se requiere abrir el archivo urls.py o un archivo de configuración similar, utilizando las propiedades específicas de admin.site: site_header, site_title e index_title.
| urls.py | |
|---|---|
17 18 19 20 21 22 23 24 25 26 | |
admin.site.site_header: Título que se muestra en la parte superior del panelsite_title: Título en la pestaña del navegadorindex_title: Título en la página principal del panel
...
├── _site
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── .venv
└── manage.py
La siguiente ilustración muestra un ejemplo de los cambios aplicados, comparando el antes y el después de la configuración.
Figura 2. Panel de administración antes y después de personalizar sus títulos.
3. Personalizar paleta de colores¶
Desde Django 3.2, es posible personalizar los colores del panel de administración mediante variables CSS. Para realizar esta modificación, primero debemos crear una plantilla para sobrescribir el estilo del administrador:
Añadir un directorio para templates
Si el proyecto aún no cuenta con una aplicación, primero debemos crear el directorio templates/ en la raíz del proyecto y configurarlo en settings.py para que Django pueda encontrar las plantillas.
| settings.py | |
|---|---|
54 55 56 57 58 59 60 | |
DIRS: Define los directorios donde Django buscará las plantillas del proyecto.
...
├── _site
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── .venv
└── manage.py
Para sobrescribir una plantilla del panel administrativo, debemos crearla dentro de templates/admin/, manteniendo la misma estructura de directorios utilizada por Django. En este caso, crearemos base.html, que reemplazará la plantilla base del administrador.
...
├── _site
├── templates
│ └── admin
│ └── base.html
├── .venv
└── manage.py
En base.html, heredamos la plantilla original del administrador y sobrescribimos el bloque extrastyle para definir los colores personalizados:
Variables para cada modo
Dentro de :root se definen las variables utilizadas por defecto. Para controlar los colores de cada tema, Django también permite sobrescribir las variables dentro de los selectores correspondientes al modo claro y oscuro.
| core/templates/admin/base.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
La idea importante: :root actúa como conjunto de valores generales o predeterminados, mientras que html[data-theme="light"] y html[data-theme="dark"] permiten establecer valores específicos para cada tema.
4. Cambiar el logo¶
Para cambiar el logo del panel administrativo, podemos sobrescribir admin/base_site.html. Esta plantilla hereda de admin/base.html y permite modificar el bloque branding, donde Django muestra el nombre del sitio.
Ahora, debemos crear el archivo en la misma estructura:
...
├── templates
│ └── admin
│ ├── base.html
│ └── base_site.html
├── _site
├── .venv
└── manage.py
Luego, en base_site.html, cargamos las etiquetas de archivos estáticos y sobrescribimos el bloque branding:
| templates/admin/base_site.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 | |
En este caso:
{% extends "admin/base.html" %}permite conservar la estructura original del administrador.{% load static %}habilita el uso de archivos estáticos.- El bloque
brandingpermite modificar el nombre y el logo mostrados en el encabezado. {% static 'img/logo.svg' %}obtiene la ruta del logo desde el directorio de archivos estáticos.
El logo debe ubicarse dentro del directorio configurado para archivos estáticos:
static
└── img
└── logo.svg
La plantilla original base_site.html de Django puede consultarse como referencia en el repositorio oficial: django/contrib/admin/templates/admin/base_site.html



