Bienvenidos un día más al curso de Python, hoy vamos a continuar con la aplicación de encuestas que estamos creando paso a paso utilizando el framework Django de Python. En el último capítulo estuvimos preparando la base de datos de nuestra aplicación, así que pongámonos manos a la obra.
En el capítulo de hoy nos vamos a centrar en la interfaz de administración que el framework de Django habrá creado por nosotros de manera automática. Django lo realiza de manera automática debido a que es muy común tener este tipo de interfaz en las aplicaciones web.
Creando un usuario administrador
Lo primero que vamos a necesitar es tener un usuario que nos permita iniciar sesión dentro de la interfaz de administración de nuestro sitio web. Para esto ejecutaremos la siguiente orden en la consola de Windows dentro de la carpeta de nuestra aplicación:
$ python manage.py createsuperuser
Introducimos el nombre de usuario que deseamos que tenga nuestro nuevo usuario y pulsaremos enter.
Username: admin
Despues nos pedirá introducir una dirección de correo electrónico:
Email address: admin@example.com
Y por último nos solicitará introducir dos veces la contraseña del usuario. La segunda vez que la introducimos es para poder confirmar la contraseña que hemos introducido la primera vez.
Password: **********
Password (again): *********
Superuser created successfully.
Una vez realizado esto arrancamos el servidor de desarrollo, la interfaz de administración está habilitada por defecto en “Django” por lo que sólo tendremos que dirigirnos al sitio web estamos creando, este se encuentra en «http://127.0.0.1:8000/admin/«. Al ir a esta dirección web deberíamos ver la pantalla de inicio de sesión de la interfaz de administración.
Os recordamos que para arrancar el servidor tendremos que ejecutar la siguiente orden:
$ python manage.py runserver
Si no os apareciera la pantalla de arriba, significa que os habrá aparecido la pantalla de error con un texto como el siguiente:
ImportError at /admin/
cannot import name patterns
...
En este caso os aconsejamos que actualicéis vuestra versión de Django.
Iniciar sesión en la interfaz de administración de «Django»
Con el usuario que hemos creado al principio del capítulo vamos a iniciar sesión. Para ello tendremos que escribir los credenciales y pulsar el botón de “Log in”. Una vez realizado esto os saldrá la página inicial del administrador de “Django”:
Como podemos ver sólo nos permite modificar los usuarios y los grupos. Esto lo que “Django” nos proporciona por defecto a través de la librería “django.contrib.auth”.
Agregar nuestra app al administrador
Como hemos comprobado en el administrador no aparecen nuestros objetos de «Pregunta». Para que esto ocurra se lo debemos de indicar al administrador para ello tendremos que modificar el fichero “polls/admin.py” del siguiente modo:
polls/admin.py
from django.contrib import admin
from .models import Pregunta
admin.site.register(Pregunta)
Explorar la funcionalidad del administrador
Ahora que ya hemos registrado “Pregunta”, “Django” sabe que se debe mostrar en la página del “admin”:
Cuando pulsemos en “Pregunta” nos aparecerá el listado de preguntas que tenemos registradas:
Si pulsamos sobre una de las preguntas que nos aparece, nos saldrá un formulario para poder editarla:
Como habéis podido comprobar el framework Django ha realizado varias cosas por nosotros:
- El formulario a partir del modelo “Pregunta”.
- Ha introducido los componentes HTML adecuados para cada tipo de dato.
Y ha agregado las siguientes opciones para salir de la página de edición:
- Guardar (Save) – Guarda los cambios y nos devuelve a la página de listado de preguntas.
- Grabar y continuar editando (Save and continue editing) – Guarda los cambios y recarga la página de edición
- Grabar y agregar otro (Save and add another) – Guarda los cambios y carga un nuevo formulario en blanco, que nos permitirá agregar una pregunta.
- Eliminar (Delete) – Eliminara la pregunta, pero antes nos mostrará una página de confirmación por si nos hemos equivocado.
Si os fijáis en la parte superior izquierda la página de edición tenemos la opción “History”. Si pulsamos sobre esta opción nos mostrará los cambios que ha sufrido esta entrada indicado, cuándo se hizo, quién lo hizo y qué es lo que se hizo.
Esto es todo por hoy, hemos dado otro pequeño paso para seguir estudiando y entendiendo este framework. Os invitamos como siempre a que sigáis explorando este framework y probando. Y para todos los que se acaban de incorporar indicarles que tenemos un índice con todos los capítulos del curso, ya que nunca es tarde para empezar.