English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Interfaz de administrador de Django

Django proporciona una interfaz de usuario lista para usar para actividades de administración. Todos sabemos que la interfaz de administración es muy importante para un proyecto web. Django genera automáticamente la interfaz de administración basándose en los modelos de su proyecto.

Iniciar la interfaz de administración

La interfaz de administración depende de los módulos django.contrib. Para que funcione, asegúrese de que se hayan importado algunos módulos en myproject/se deben verificar los tuplos INSTALLED_APPS y MIDDLEWARE_CLASSES.

Para estar seguro de que INSTALLED_APPS esté definido en el archivo settings.py, -

  INSTALLED_APPS = (
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'myapp',
)

Para MIDDLEWARE_CLASSES, tenemos−

  MIDDLEWARE_CLASSES = (
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django.middleware.common.CommonMiddleware',
   'django.middleware.csrf.CsrfViewMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   'django.contrib.messages.middleware.MessageMiddleware',
   'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

Al iniciar el servidor, vamos a acceder a la interfaz de administración, puede que también necesitemos iniciar la base de datos -

   c:\myproject> python manage.py syncdb

syncdb creará las tablas necesarias, o deberá ejecutarse según el conjunto de su tipo de base de datos, así como la interfaz de administración necesaria. Incluso si no es un superusuario, el sistema le sugerirá crearlo.

Si ya tiene un superusuario o se olvidó, puede usar el siguiente código para crearlo directamente −

   c:\myproject> python manage.py createsuperuser

Ahora, para iniciar la interfaz de administración, necesitamos asegurarnos de que la interfaz de administración ya está configurada para URLs. Abrir myproject/url.py, debería tener lo siguiente −

  """Configuración de URLs del proyecto",
La `urlpatterns` lista rutas URL hacia las vistas. Para más información, por favor vea:
    https://docs.djangoproject.com/en/1.9/temas/http/urls/ 
Ejemplos:
Función views
    1. Añadir una importación:  from my_app import views
    2. Añadir una URL a urlpatterns:  url(r'^$', views.home, name='home')
Clase-based views
    1. Agregar una importación:  from other_app.views import Home
    2. Agregar una URL a urlpatterns:  url(r'^$', Home.as_view(), name='home')
. Incluir otro URLconf
    1. Importar la función include(): from django.conf.urls import url, include
    2. Agregar una URL a urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

Todo el proceso de ejecución de comandos:

  # Crear las tablas de base de datos necesarias e inicializar los datos relacionados
C:\myproject>python manage.py migrate
Operaciones a realizar:
  Aplicar todas las migraciones: admin, contenttypes, auth, sessions
Ejecutando migraciones:
  Renderizando estados del modelo... REALIZADO
  Aplicando contenttypes.0001_initial... OK
  Aplicando auth.0001_initial... OK
  Aplicando admin.0001_initial... OK
  Aplicando admin.0002_logentry_remove_auto_add... OK
  Aplicando contenttypes.0002_remove_content_type_name... OK
  Aplicando auth.0002_alter_permission_name_max_length... OK
  Aplicando auth.0003_alter_user_email_max_length... OK
  Aplicando auth.0004_alter_user_username_opts... OK
  Aplicando auth.0005_alter_user_last_login_null... OK
  Aplicando auth.0006_require_contenttypes_0002... OK
  Aplicando auth.0007_alter_validators_add_error_messages... OK
  Aplicando sesiones.0001_initial... OK
C:\myproject> python manage.py createsuperuser
Nombre de usuario (deje en blanco para usar 'administrador'): admin
Dirección de correo electrónico: [email protected] 
Contraseña:
Contraseña (vuelva a escribir):
Esta contraseña es demasiado corta. Debe contener al menos 8 caracteres.
Esta contraseña es demasiado común.
Esta contraseña es completamente numérica.
Contraseña:
Contraseña (vuelva a escribir):
Superusuario creado con éxito.
C:\myproject>

Ahora, simplemente ejecute el siguiente comando para ejecutar el servidor.

   c:\myproject> python manage.py runserver

La interfaz de gestión se encuentra en la siguiente URL, debería poder acceder: http://127.0.0.1:8000/admin/

Al iniciar sesión con la cuenta de usuario superadministrador, verá la siguiente interfaz −

Esta interfaz nos permite gestionar los grupos y usuarios de Django, así como todos los modelos registrados en la aplicación. Esta interfaz le permite realizar al menos las operaciones CRUD (crear, leer, actualizar, eliminar) en los modelos.