El libro de Django 1.0

6.2. Usar la interfaz de administración

La interfaz de administración está diseñada para ser usada por usuarios no técnicos, y como tal debería ser lo suficientemente clara como para explicarse por sí misma. Aún así, se brindan unas pocas notas sobre sus características.

Lo primero que verás es una página de identificación, como se muestra en la Figura 6-1.

Pantalla de autenticación de Django

Figura 6.1 Pantalla de autenticación de Django

Usarás el nombre de usuario y la clave que configuraste cuando agregaste tu superusuario. Una vez identificado, verás que puedes gestionar usuarios, grupos y permisos (veremos más sobre esto en breve).

Cada objeto al que se le dió una declaración Admin aparece en el índice de la página principal, como se muestra en la Figura 6-2

La portada de la Administración de Django

Figura 6.2 La portada de la Administración de Django

Los enlaces para agregar y modificar objetos llevan a dos páginas a las que nos referiremos como listas de cambio y formularios de edición de objetos:

Las listas de cambio son esencialmente páginas de índices de objetos en el sistema, como se muestra en la Figura 6-3.

Una típica vista de lista de cambio

Figura 6.3 Una típica vista de lista de cambio

Hay varias opciones que pueden controlar los campos que aparecen en esas listas y la aparición de características extra como campos de búsqueda e accesos directo a filtros predefinidos. Más adelante hablaremos sobre esto.

Los formularios de edición se usan para modificar objetos existente y crear nuevos (mira la Figura 6-4). Cada campo definido en tu modelo aparece aquí, y notarás que campos de tipos diferentes tienen diferentes controles. (Por ejemplo, los campos de fecha/hora tienen controles tipo calendario, las claves foráneas usan cajas de selección, etc.)

Un típico formulario de edición

Figura 6.4 Un típico formulario de edición

Te darás cuenta que la interfaz de administración también controla por ti la validez de los datos ingresados. Intenta dejar un campo requerido en blanco o poner una fecha inválida en un campo de fecha, y verás esos avisos de esos errores cuando intentes guardar el objeto, como se muestra en la Figura 6-5.

Un formulario de edición mostrando errores

Figura 6.5 Un formulario de edición mostrando errores

Cuando editas un objeto existente, verás el botón Historia en la esquina superior derecha de la ventana. Cada cambio realizado a través de la interfaz de administración es registrado, y puedes examinar este registro haciendo click en este botón (mira la Figura 6-6).

Página de historia de un objeto django

Figura 6.6 Página de historia de un objeto django

Cuando eliminas un objeto existente, la interfaz de administración solicita una confirmación para prevenir costosos errores. La eliminación de un objeto se desencadena en cascada, y la página de confirmación de eliminación del objeto muestra todos los objetos relacionados que se eliminarán con él (mira la Figura 6-7).

Una página de confirmación de eliminación de un objeto Django

Figura 6.7 Una página de confirmación de eliminación de un objeto Django

6.2.1. Usuarios, Grupos y Permisos

Desde que estás identificado como un superusuario, tienes acceso a crear, editar y eliminar cualquier objeto. Sin embargo, la interfaz de administración tiene un sistema de permisos de usuario que puedes usar para darle a otros usuarios acceso limitado a las partes de la interfaz que ellos necesitan.

Puedes editar estos usuarios y permisos a través de la interfaz de administración, como si fuese cualquier otro objeto. Los vínculos a los modelos Usuarios y Grupos se encuentran en el índice de la página principal junto con todo el resto de los modelos que haz definido.

Los objetos usuario tienen el los campos estándar nombre de usuario, contraseña, dirección de correo, y nombre real que puedes esperar, seguidos de un conjunto de campos que definen lo que el usuario tiene permitido hacer en la interfaz de administración. Primero, hay un conjunto de tres opciones seleccionables:

  • La opción "Es staff" indica que el usuario está habilitado a ingresar a la interfaz de administración (por ejemplo, indica que el usuario es considerado un miembro del staff en tu organización). Como el mismo sistema de usuarios puede usarse para controlar el acceso al sitio público (es decir, sitios restringidos no administrativos. Mira el Capítulo 12.), esta opción diferencia entre usuarios públicos y administradores.
  • La opción "Activo" define si el usuario está activo en todo sentido. Si está desactivada, el usuario no tendrá acceso a ninguna URL que requiera identificación.
  • La opción "es superusuario" da al usuario completo e irrestricto acceso a todos los elementos de la interfaz de administración, y sus permisos regulares son ignorados.

Los administradores "normales" — esto es, activos, no superusuarios y miembros del staff — tienen accesos que dependen del conjunto de permisos concedidos. Cada objeto editable a través de la interfaz de administración tiene tres permisos: un permiso de crear, un permiso de modificar, y un permiso de eliminar. Lógicamente, asignando permisos a un usuario habilitas que este acceda a realizar la acción que el permiso describe.

Nota El acceso a editar usuarios y permisos también es controlado por el sistema de permisos. Si le das a alguien el permiso de editar usuarios, ¡estará en condiciones de editar sus propios permisos, que probablemente no es lo que querías!

También puedes asignar usuarios a grupos. Un grupo es simplemente un conjunto de permisos a aplicar a todos los usuarios de ese grupo. Los grupos son útiles para otorgar idénticos permisos a un gran número de usuarios.