Ver índice de contenidos del libro

Capítulo 17. Extender la Interfaz de Administración de Django

El Capítulo 6 introdujo la interfaz de administración de Django, y ya es tiempo de volver atrás y dar una mirada más minuciosa al asunto.

Como ya hemos comentado varias veces, la interfaz de administración es una de las características más sobresalientes de este framework, y la mayoría de los desarrolladores que usan Django lo encuentran útil y eficiente. Debido a que esta interfaz es tan popular, es común que los desarrolladores quieran personalizarlo o extenderlo.

Las ultimas secciones del Capítulo 6 ofrecieron algunas maneras simples de personalizar ciertos aspectos de la interfaz. Antes de continuar con este capítulo, considera revisar ese material; cubre como personalizar las listas de cambio y los formularios de edición, así como una forma fácil de "remarcar" la interfaz para que se indentifique con tu sitio.

El capitulo 6 discute también cuando y porqué querrías usar la interfaz de administración y desde hicimos un gran salto desde esos párrafos hasta este punto, lo reproduciremos nuevamente aquí:

Obviamente, es muy útil para modificar datos (se veía venir). Si tenemos cualquier tipo de tarea de introducción de datos, el administrador es lo mejor que hay. Sospechamos que la gran mayoría de lectores de este libro tiene una horda de tareas de este tipo.

La interfaz de administración de Django brilla especialmente cuando usuarios no técnicos necesitan ser capaces de ingresar datos; ese es el propósito detrás de esta característica, después de todo. En el periódico donde Django fue creado orginalmente, el desarrollo de una característica típica online — un reporte especial sobre la calidad del agua del acueducto municipal, pongamos — implicaba algo así:

  • El periodista responsable del artículo se reúne con uno de los desarrolladores y discuten sobre la información disponible.
  • El desarrollador diseña un modelo basado en esta información y luego abre la interfaz de administración para el periodista.
  • Mientras el periodista ingresa datos a Django, el programador puede enforcarse en desarrollar la interfaz accesible públicamente (¡la parte divertida!).

En otras palabras, la razón de ser de la interfaz de administración de Django es facilitar el trabajo simultáneo de productores de contenido y programadores.

Sin embargo, más allá de estas tareas de entrada de datos obvias, encontramos que la interfaz de administración es útil en algunos otros casos:

  • Inspeccionar modelos de datos: La primer cosa que hacemos cuando hemos definido un nuevo modelo es llamarlo desde la interfaz de administración e ingresar algunos datos de relleno. Esto es usual para encontrar errores de modelado; tener una una interfaz gráfica al modelo revela problemas rápidamente.
  • Gestión de datos adquiridos: Hay una pequeña entrada de datos asociada a un sitio como http://chicagocrime.org, puesto que la mayoría de los datos provienen de una fuente automática. No obstante, cuando surgen problemas con los datos automáticos, es útil poder entrar y editarlos fácilmente.

La interfaz de administración de Django maneja estos casos comunes con algunas o ninguna personalización. Aunque, como sucede con la mayoría de las generalizaciones en el diseño, la gestión unificada de todos estos casos significa que la interfaz no maneja igual de bien otros modos de edición.

Hablaremos de estos casos para los que la interfaz de administración de Django no está diseñada un poquito más adelante, pero primero, vamos a realizar una breve discusión filosófica sobre el administrador.