Ver índice de contenidos del libro

6.4. Personalizar la apariencia de la interfaz de administración

Claramente, tener la frase "Administración de Django" en la cabecera de cada página de administración es ridículo. Es sólo un texto de relleno que es fácil de cambiar, usando el sistema de plantillas de Django. El sitio de administración de Django está propulsado por el mismo Django, sus interfaces usan el sistema de plantillas propio de Django. (El sistema de plantillas de Django fue presentado en el Capítulo4.)

Como explicamos en el Capítulo4, la configuración de TEMPLATE_DIRS especifica una lista de directorios a verificar cuando se cargan plantillas Django. Para personalizar las plantillas del sitio de administración, simplemente copia el conjunto relevante de plantillas de la distribución Django en uno de los directorios apuntados por TEMPLATE_DIRS.

El sitio de administración muestra "Administración de Django" en la cabecera porque esto es lo que se incluye en la plantilla admin/base_site.html. Por defecto, esta plantilla se encuentra en el directorio de plantillas de administración de Django, django/contrib/admin/templates, que puedes encontrar buscando en tu directorio site-packages de Python, o donde sea que Django fue instalado. Para personalizar esta plantilla base_site.html, copia la original dentro de un subdirectorio llamado admin dentro de cualquier directorio este usando TEMPLATE_DIRS. Por ejemplo, si tu TEMPLATE_DIRS incluye "/home/misplantillas", entonces copia django/contrib/admin/templates/admin/base_site.html a /home/misplantillas/admin/base_site.html. No te olvides del subdirectorio admin.

Luego, sólo edita el nuevo archivo admin/base_site.html para reemplazar el texto genérico de Django, por el nombre de tu propio sitio, tal como lo quieres ver.

Nota que cualquier plantilla por defecto de Django Admin puede ser reescrita. Para reescribir una plantilla, haz lo mismo que hicimos con base_site.html: copia esta desde el directorio original a tu directorio personalizado y haz los cambios sobre esta copia.

Puede que te preguntes cómo, si TEMPLATE_DIRS estaba vació al principio, Django encuentra las plantillas por defecto de la interfaz de administración. La respuesta es que, por defecto, Django automáticamente busca plantillas dentro del subdirectorio templates/ de cada paquete de aplicación como alternativa. Mira el capítulo 10 para obtener más información sobre cómo funciona esto.