El administrador de Django es creado por defecto por el sistema y permite añadir, modificar o eliminar las entradas en la base de datos. Es un administrador escrito únicamente para el uso de los administradores del sitio con una interface clara y de fácil manejo.
Creación del super usuario
El primer paso es crear un usuario y contraseña:
iMac27:mysite JMG$ python manage.py createsuperuser Username (leave blank to use 'jmg'): admin Email address: myemail@domain.com Password: Password (again): Superuser created successfully.
Inicialización del servidor
A continuación activamos el servidor de desarrollo:
$ python manage.py runserver
y vemos el aspecto del administrador en http://127.0.0.1:8000/admin/.
Manejar los objetos de una aplicación desde el administrador
Para ello debe modificarse el archivo admin.py en la carpeta de la aplicación. En el caso del ejemplo básico descrito en una entrada previa, añadimos las líneas correspondientes a dicho archivo:
from django.contrib import admin from .models import Question admin.site.register(Question)
Como vemos, se ha importado el modelo Question y se ha asociado con el administrador. Recargando la página, vemos como una nueva «tabla» aparece.
Añadir objetos relacionados
Anteriormente hemos habilitado el modo en que el modelo Question era accesible desde el administrador. Ahora bien, cada objeto Question tiene asociado un objeto Choice. Es decir, son dos tablas que están relacionadas. Las formas de relacionarlas en Django se obtiene creando nuevos modelos (clases) que definan dicha relación. El archivo admin.py tendrá ahora el siguiente código:
from django.contrib import admin from .models import Question, Choice class ChoiceInline(admin.TabularInline): model = Choice extra = 3 class QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question_text']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ] inlines = [ChoiceInline] admin.site.register(Question, QuestionAdmin)
El administrador puede customizarse en gran medida y adaptarse a cualquiera de nuestras necesidades. Pero dado de que solo queremos hacer ahora una primera aproximación, lo vamos a dejar aquí por el momento.