FAQ: El sitio de administración

No puedo ingresar. Cuando uso un usuario y contraseña válidos, me regresa a la página de ingreso, sin ningún mensaje de error.

The login cookie isn’t being set correctly, because the domain of the cookie sent out by Django doesn’t match the domain in your browser. Try setting the SESSION_COOKIE_DOMAIN setting to match your domain. For example, if you’re going to “https://www.example.com/admin/” in your browser, set SESSION_COOKIE_DOMAIN = 'www.example.com'.

No puedo ingresar. Cuando uso un usuario y contraseña válidos, me muestra la página de ingreso de nuevo, con un mensaje de error de “Por favor introduzca un usuario y contraseña correctos”.

Si estás seguro de que tus datos son correctos, asegúrate de que la cuenta de usuario tenga is_active y is_staff establecidos como True. El sitio administrativo solo permite el acceso a los usuarios que tengan ambos campos en True.

¿Cómo establezco automáticamente el valor de un campo con el último usuario que editó el objeto en el sitio de administración?

La clase ModelAdmin provee métodos de personalización que te permiten transformar un objeto al ser guardado usando detalles de la petición. Mediante la extracción del usuario actual desde la petición y personalizando el método save_model(), puedes actualizar un objeto para reflejar el usuario que lo editó. Para ver ejemplos remítete a la documentación de los métodos del ModelAdmin.

¿Cómo limito el acceso en el sitio administrativo de manera que los objetos solo puedan ser modificados por los usuarios que los crearon?

La clase ModelAdmin también permite formas de personalización que te permiten controlar la visibilidad y edición de objetos en el sitio de administración. Mediante el mismo truco de extraer el usuario de la petición, los métodos get_queryset() y has_change_permission() pueden ser usados para controlar la visibilidad y la edición de los objetos en el sitio de administración.

Las CSS e imágenes de mi sitio de administración se muestran bien mientras uso el servidor de desarrollo, pero no se muestran cuando uso mod_wsgi.

Ve Publicación de archivos del sitio de administración en la documentación “¿Cómo usar Django con mod_wsgi?”.

Mi “list_filter” contiene un campo ManyToManyField, pero el filtro no se visualiza.

Django no se molestará en visualizar el filtro para un campo ManyToManyField si hay menos de dos objetos relacionados.

Por ejemplo, si tu list_filter incluye sitios, y solo hay un sitio en tu base de datos, no mostrará un filtro “Sitio”. En ese caso, filtrar por sitio no tendría objetivo.

Algunos objetos no están apareciendo en el sitio de administración.

El conteo inconsistente de filas puede ser causa de valores de llaves foráneas que faltan o un campo de tipo llave foránea incorrectamente establecido como null=False. Si tienes un registro con un campo ForeignKey apuntando a un objeto inexistente y esa llave foránea incluida es list_display, el registro no se mostrará en la lista de cambios del sitio de administración porque el modelo está declarando una restricción de integridad que no está implementada a nivel de base de datos.

¿Cómo puedo personalizar la funcionalidad de la interfaz de administración?

Tienes muchas opciones. Si deseas trabajar encima del formulario generado automáticamente por Django, puedes agregar módulos JavaScript a la página por medio de la clase modelo Admin parámetro js. Ese parámetro es una lista de URLs, en forma de cadenas, que apuntan a los módulos de JavaScript que serán incluidos en el formulario de administración mediante la etiqueta <script>.

Si deseas más flexibilidad que simplemente ajustar los formularios generados automáticamente, siéntete libre de crear vistas personalizadas para el sitio de administración. Este sitio está motorizado por el propio Django y puedes crear vistas personalizadas que se acoplen al sistema de autenticación, chequear permisos y hacer cualquier otra cosa que se necesite.

Si deseas personalizar la apariencia de la interfaz de administración, lee la siguiente pregunta:

¡El sitio de administración generado de forma dinámica luce feo! ¿Cómo puedo cambiarlo?

A nosotros nos gusta, pero si a ti no, puedes modificar la presentación del sitio de administración editando las hojas de estilo y/o los archivos de imágenes asociados. El sitio está construido usando HTML semántico y personalizaciones de CSS, así que cualquier cambio que quieras hacer sería posible editando las hojas de estilo.

¿Qué navegadores están soportados para usar el sitio de administración?

El sitio de administración provee una experiencia completamente funcional para navegadores Categoría A de YUI, con la notable excepción de IE6, que no está soportado.

Pueden haber menores diferencias de estilo entre los navegadores soportados—por ejemplo, algunos navegadores pueden no soportar esquinas redondeadas. Estas variaciones son consideradas aceptables en la visualización.