Segunda parte de Probando Django, un framework de Python para el desarrollo web. Aquí teneis la parte 1, donde pusimos en marcha un entorno virtual y procedimos a descargar el paquete.
Cómo necesitarás activar el entorno virtual de django varias veces, me he creado este archivo .bat para facilitar la tarea, cómo es llegar a la ruta donde tengo mi entorno, y activarlo:
Si por casualidad has instalado o tienes instalada django, pero no te acuerdas de la versión, sólo tienes que escribir python -m django –version para ver qué versión tienes instalada, tal cual aparece en la imagen anterior.
Por último, vamos a modificar el nombre del proyecto (en nuestro caso probardjango) por src:
Por último, el script de arranque .bat queda así:
cd django
.\scripts\activate
Explorando el proyecto de Django
En la primera parte generamos el proyecto de django llamado probardjango, pero vamos a ver todo lo que se ha generado en el directorio src.
manage.py es una utilidad que se usa desde el modo de comandos, tal y cómo vimos en el primer paso, que incluye un monton de funciones para ayudar en el desarrollo de los proyectos. Conforme vayamos dando pasos, se irán utilizando varias de la utilidades.
El directorio probardjango es donde se encuentra el proyecto, y que es un paquete de Python que podrá ser llamado en tu proyecto. Ya lo iremos viendo también conforme avancemos.
Por último, tenemos db.sqlite3 que es la base de datos sqlite creada para nuestro proyecto. De momento, está casi vacia:
Bases de datos en Django
Quizás, la primera gran diferencia entre Flask y Django es que en Django necesitamos poner en marcha una base de datos casi antes de arrancar el proyecto. En realidad, Django está pensado para aplicaciones que requieran de datos de bases de datos, y claro, hay unas cuantas herramientas para facilitar muchas tareas rutinarias (de manage.py).
La primera de todas es makemigrations, donde se actualizan todas las funciones relacionadas con las bases de datos. Cómo estamos iniciando, no hay cambios.
En realidad, el comando anterior genera un paquete con los cambios, pero para ejecutarlos en la base de datos, hay que llamar a otro comando: migrate.
Ahora ya tenemos la base de datos, con nuevas tablas y unos cuantos índices generados.
Por los nombres de las tablas, podeis adivinar que se han generado una serie de tablas preparadas para la gestión de los usuarios, sesiones, etc, etc, …
El backend de Django
De igual forma que en la primera parte hemos accedido a poner en marcha el servidor, también hay un backend generado, pero para acceder, es necesario crear un usuario superadministrador. De nuevo, requerimos hacer uso de manage.py para su creación, y completamos los datos que nos pide: nombre de usuario, clave y email (aunque luego podremos cambiarlo, por supuesto).
Haciendo esto, ya tenemos al menos un usuario para acceder al backend de la aplicación, cuya URL es /admin:
Y accedemos con el usuario:
Y desde aquí se puede gestionar usuarios, permisos, grupos de usuarios, …. y una larga lista de tareas.
Nos vemos en probar django, parte 3.