Thumbnail: django

La Biblioteca, aplicación en Django 1.8 | Parte III

por , en la categoría de Django
4 minuto(s) de lectura
Este artículo hace parte de la serie «Django dummies»:
  1. La Biblioteca, aplicación en Django 1.8 | Parte I
  2. La Biblioteca, aplicación en Django 1.8 | Parte II
  3. La Biblioteca, aplicación en Django 1.8 | Parte III
  4. La Biblioteca, aplicación en Django 1.8 | Parte IV
  5. La Biblioteca, aplicación en Django 1.8 | Parte V
  6. La Biblioteca, aplicación en Django 1.8 | Parte VI
  7. La Biblioteca, aplicación en Django 1.8 | Parte VII

En la entrada de hoy seguiremos con la creación de nuestra aplicación usando Django 1.8, en la parte 2 nos quedamos en la definición de nuestros modelos, creamos nuestra base de datos inicial y luego migramos dichas definiciones de modelos, a saber: Autor, Editor y Libro. Hoy vamos a registrar nuestra app en el sitio administrativo que nos ofrece Django, para gestionar nuestra base de datos.

¿Qué es el sitio administrativo de Django?

Una aplicación, en síntesis es eso. Django nos proporciona por defecto una aplicación llamada admin, si eres curioso o curiosa puedes abrir tu archivo settings.py y en la variable INSTALED_APPS podrás verla junto con otras apps, su nombre es django.contrib.admin y nos será muy útil para gestionar acciones muy frecuentes en nuestra base de datos.

¿Cómo nos puede ser útil el sitio administrativo de Django?

Pues verás, cuando estamos desarrollando un aplicativo, poder realizar acciones en las bases de datos directamente en una interfaz amigable es una ventaja, ya que nos ahorra mucho tiempo, que en desarrollo de software es muy valioso. Si tu background es PHP, puedes hacer un paralelo: cuando instalas XAMPP (LAMP o WAMP) y entras a el sitio de phpmyadmin puedes gestionar tu base de datos desde ese sitio, a saber: crear, actualizar, eliminar y obtener registros. Pues bueno, el sitio de administración de Django es algo parecido.

¿Cómo usar el sitio administrativo de Django?

Vamos a usar el sitio administrativo en nuestra aplicación de la Biblioteca, para ello debemos de seguir una serie de pasos, bastante fáciles:

  1. Crear un usuario: Abre la consola, dirígete a la carpeta sitiolectura, estando ahí digita python manage.py createsuperuser y completa los campos correspondientes: username, email y password.

createsuperuser

  1. Registrar nuestros modelos: Paso siguiente es decirle a Django que registre nuestros modelos en el sitio de administración, para esto nos dirigimos al folder de nuestra app (biblioteca), abrimos el archivo admin.py y colocamos lo siguiente:
#biblioteca/admin.py
from django.contrib import admin
from models import Editor, Autor, Libro
# Register your models here.

admin.site.register(Editor)
admin.site.register(Autor)
admin.site.register(Libro)

Primero importamos del archivo models.py los modelos Editor, Autor y Libro. Y a continuación los registramos en el sitio de administración usando admin.site.register(<name_model>), donde <name_model> es el nombre del modelo a registrar. Puedes personalizar mas aun este sitio de administración, te dejo la documentación completa por si le quieres dar un vistazo.

Sitio de administración de Django en acción

Con lo anterior, estamos listos para ver al sitio de administración en todo su esplendor, vamos a correr el servidor local (ya sabes python manage.py runserver) y a continuación dirígete a localhost:8000/admin. Estando ahí te aparecerá una ventana de login, coloca el username y la contraseña del user que creamos anteriormente. ¡ Listo, estamos dentro del sitio de administración !.

siteadmin

Podemos observar los modelos que hemos registrado con anterioridad y vemos que a demás se especifica de qué aplicaciones son dichos modelos. También podemos ver otros dos modelos registrados Groups y Users, de la aplicacion llamada Authentication and Authorization, estas Django las registra por default.

Algo que vemos es que en nuestros modelos aparecen: Autors y Editors en lugar de Autores y Editores esto es asi porque Django pone siempre una s para pluralizar los nombres de modelos en su sitio de administración, podemos arreglar esto. Vamos a models.py y dentro de cada clase (Autor y Editor) ponemos una subclase con nombre Meta con un atributo especial, así:

#biblioteca/models.py
class Editor(models.Model):
	#....
	class Meta:
		verbose_name_plural = 'Editores'

class Autor(models.Model):
	#....
	class Meta:
		verbose_name_plural = 'Autores'		

Volvemos a recargar y vemos que el problema se arreglará. Te invito a que explores este sitio, puedes crear, eliminar y actualizar Autores, Editores y Libros desde esta interfaz tan amigable. No está de mas decir que todas las acciones se verán reflejadas en tu base de datos (db.sqlite3 o el nombre que tu tengas), empieza creando Autores y Editores, después crea Libros. Django sabe de por sí, que un atributo de tu modelo que sea ForeignKey será traducido como una lista desplegable y un atributo ManyToMany como una lista de opciones. Podemos ver lo potente y cómodo que es trabajar con Django. Esto es todo por ahora, si tienen alguna duda o quieren aportar, pueden hacerlo mas abajo en la caja de comentarios. Para la próxima entrada empezaremos a procesar los datos, jugaremos un poco con vistas, urls y templates.

print("Hasta pronto")

Siguiente artículo en la serie: La Biblioteca, aplicación en Django 1.8 | Parte IV

aplicación, Django 1.8, Biblioteca
comments powered by Disqus