PostgreSQL es una de las mejores opciones para un entorno de almacenamiento seguro. Aprende a integrarlo con Django.
Agregar una base de datos a su aplicación garantiza la integridad y seguridad de los datos. PostgreSQL (Postgres) es un sistema de administración de base de datos de lenguaje de consulta estructurado (SQL) que quizás desee considerar.
Postgres admite la mayoría de los sistemas operativos populares y es compatible con los lenguajes de programación modernos. Postgres también maneja varios tipos de datos y documentos. Con habilidades de SQL en alta demanda, aprender a configurar y usar PostgreSQL es una ventaja.
Aprenderá a instalar, configurar y usar Postgres en una aplicación Django. También probará la funcionalidad de la base de datos agregando, almacenando y recuperando datos de la base de datos.
1. Instale PostgreSQL en su sistema
Las siguientes instrucciones explican cómo instalar Postgres en el sistema operativo Ubuntu. Si eres usuario de Windows, puedes seguir este guía paso a paso para instalar Postgres en Windows.
Antes de instalar Postgres, actualice los paquetes de versión y sus dependencias con el siguiente comando:
$ sudo apt-get update
A continuación, instale PostgreSQL con el siguiente comando:
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
Cuando se le solicite que confirme la instalación, presione Y para Sí.
Conéctese al servidor usando el siguiente comando:
$ sudo -i -u postgres
Y luego use el cliente de la base de datos para determinar la versión de Postgres instalada.
Ejecute el comando psql --versión.
postgres@nameofaccount:~$ psql --version
El resultado mostrará su versión de Postgres como se muestra a continuación:
psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
Salga de la cuenta de Postgres ejecutando el salida dominio.
postgres@nameofaccount:~$ exit
2. Crear una base de datos
Debe crear una base de datos que conectará a una aplicación Django. Vuelva al shell de Postgres y ejecute los siguientes comandos de forma consecutiva.
sudo -i -u postgres
$ psql
Luego use el cliente para crear una base de datos en el servidor.
postgres=# create database new_db;
El servidor devuelve el término CREAR BASE DE DATOS cuando crea una base de datos. También puedes consultar por enumerando todas las bases de datos en el sistema con el comando \l.
postgres=# \l
Estructura de PostgreSQL
Como una base de datos SQL típica, PostgreSQL almacena datos en tablas. Las tablas representan diferentes artículos/modelos en una aplicación. Las tablas tienen un número fijo de columnas y filas.
Cada tabla tiene una columna particular llamada clave principal, un identificador único para cada fila almacenada en la tabla. Una tabla también puede tener una clave externa que la conecte a la clave principal de otra tabla.
Las claves foráneas definen las relaciones entre dos tablas.
A continuación, debe crear una aplicación Django y vincular la base de datos. Pero primero, instala psicopg2 para ayudar a conectar la aplicación y la base de datos.
3. Instale la biblioteca Django y Psycopg2
Para conectar Postgres a una aplicación Django, debe instalar el psicopg2 biblioteca. Esta es una dependencia de Postgres que ayuda a conectarse y comunicarse con Django.
Ejecute el siguiente comando para instalar psicopg2 y Django:
$ pipenv install psycopg2 Django
4. Crear una aplicación Django
Debe crear una aplicación Django que usará la base de datos de Postgres. Primero, crea un proyecto llamado miboma para apoyar la aplicación. Los proyectos de Django generan automáticamente las dependencias y la configuración de la aplicación necesaria para ejecutar la aplicación.
Crea una carpeta llamada Boma-reloj y navegue hasta él con los siguientes comandos:
$ mkdir Boma-watch
$cd Boma-watch
Luego, crea un proyecto Django con el siguiente comando:
$ django-admin startproject myboma .
Asegúrese de agregar el punto final al final del comando; de lo contrario, Django creará una nueva carpeta para albergar el proyecto.
A continuación, cree una nueva aplicación llamada boma con el siguiente comando:
$ django startapp boma
Si no ha trabajado antes con Django, puede comience con una guía para principiantes de Django. Después de ejecutar la aplicación en el navegador para confirmar que funciona, la conectará a la base de datos en la siguiente sección.
5. Conectar la base de datos a la aplicación Django
Ahora conectará su aplicación Django a la base de datos que creó siguiendo los siguientes pasos:
Paso 1: cambie la configuración del proyecto para usar Postgres
Debe cambiar la configuración del proyecto para conectar la aplicación Django a Postgres. Navegar al proyecto configuración.py archivo. Luego, cambia el BASES DE DATOS settings para agregar sus configuraciones de Postgres.
Reemplace la USUARIO y CONTRASEÑA con tu psql nombre de usuario y contraseña.
#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}
Paso 2: actualice la zona horaria
A continuación, en el configuración.py archivo, configure el Zona horaria para reflejar su ubicación. Los proyectos de Django están preconfigurados con la zona horaria UTC.
TIME_ZONE = Africa/Nairobi
Paso 3: crea un modelo
Crear un Perfil modelo en su aplicación. Utilizará esta clase de modelo para crear tablas en la base de datos para almacenar el nombre de la aplicación y los datos biográficos.
classProfile(models.Model):
name = models.CharField(max_length=30)
bio = models.TextField(max_length=100)def__str__(self):
return self.name
Paso 4: Iniciar la migración
Ejecute los siguientes comandos para iniciar la migración:
(virtual)$ python manage.py makemigrations boma
(virtual)$ python manage.py migrate
Una migración exitosa se verá así:
python manage.py migrar El comando elige la aplicación de la APLICACIONES_INSTALADAS settings > models.py archivos y crea tablas para cada modelo. Ha conectado con éxito Postgres a su aplicación.
Ahora puede probar los comandos CREAR, LEER, ACTUALIZAR y ELIMINAR (CRUD) en su aplicación.
6. Pruebe los comandos CRUD en su aplicación
La API Python de Django le permitirá realizar algunas operaciones de base de datos CRUD. La API conecta las funciones con los modelos para permitirle manipular la base de datos.
Abra el shell de Python en el proyecto Django usando el siguiente comando:
(virtual)$ python manage.py shell
El comando abrirá una consola donde puede probar las operaciones CRUD.
Crear operación
Primero, importa el Perfil modelo de la modelos módulo usando el siguiente comando:
from boma.models import Profile
A continuación, cree una instancia de la Perfil clase y pase sus datos.
prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')
A continuación, guarde los datos en la base de datos.
prof1.save()
Operación de lectura
Después de crear datos en la base de datos y guardarlos, puede consultarlos para recuperar los datos guardados.
Utilizar el Perfil.objetos.todos() para recuperar todos los datos en el Perfil tabla en la base de datos.
Profile.objects.all() #outputs
También puede recuperar un solo objeto usando un Clave primaria o paquete. Estos son números asignados a cada elemento guardado en la base de datos.
Profile.objects.get(pk = 1) #outputs
Actualizar operación
Puede actualizar los datos guardados con el siguiente comando:
Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1
Para verificar si el nombre se actualizó, ejecute el siguiente comando:
Profile.objects.filter(id = 1) #outputs
Eliminar operación
Puede eliminar elementos guardados con el siguiente comando:
Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})
Para confirmar la eliminación, ejecute el siguiente comando:
Profile.objects.filter(id = 1) #outputs
Puede ver que el conjunto de consultas está vacío, lo que indica que los datos ya no están en la base de datos.
¿Por qué usar PostgreSQL?
Postgres es una de las bases de datos SQL más avanzadas. Sus compilaciones de código abierto garantizan mejoras constantes en el rendimiento.
Administrar las cargas de trabajo es más fácil y la clasificación de la base de datos mejora con cada versión. Una de las razones por las que Postgres es popular es porque es compatible con la mayoría de los lenguajes de programación y sistemas operativos modernos.