Integración de Django con PostgreSQL
Django es un framework web de Python que proporciona una capa de abstracción para el acceso a la base de datos. Por defecto, Django utiliza la base de datos SQLite, pero también es posible utilizar otras bases de datos, como PostgreSQL.
En este tutorial, veremos cómo integrar Django con PostgreSQL.
Prerrequisitos
- Tener instalado Python 3.6 o superior.
- Tener instalado PostgreSQL.
- Tener instalado el módulo
psycopg2
.
Instalación del módulo psycopg2
El módulo psycopg2
es el conector entre Python y PostgreSQL. Para instalarlo, ejecuta el siguiente comando en tu terminal:
pip install psycopg2
Creación de una base de datos PostgreSQL
Para crear una base de datos PostgreSQL, ejecuta el siguiente comando en tu terminal:
psql -U postgres -c "CREATE DATABASE mi_base_datos"
Configuración de Django
Para configurar Django para que utilice PostgreSQL, edita el archivo settings.py
de tu proyecto. En la sección DATABASES
, cambia el valor de ENGINE
a django.db.backends.postgresql
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mi_base_datos',
'USER': 'postgres',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': 5432,
}
}
Creación de un modelo
Para crear un modelo de Django que se almacene en PostgreSQL, crea un archivo models.py
en tu aplicación. En este archivo, crea una clase Model
que herede de django.db.models.Model
:
from django.db import models
class MiModelo(models.Model):
"""
Modelo de ejemplo.
"""
name = models.CharField(max_length=255)
def __str__(self):
return self.name
Migración del modelo
Para que Django cree las tablas necesarias en la base de datos, ejecuta el siguiente comando:
python manage.py migrate
Creación de una vista
Para crear una vista que muestre los datos del modelo, crea un archivo views.py
en tu aplicación. En este archivo, crea una función index()
que devuelva una lista de objetos del modelo:
from django.shortcuts import render
from .models import MiModelo
def index(request):
modelos = MiModelo.objects.all()
return render(request, 'index.html', {
'modelos': modelos,
})
Creación de una plantilla HTML
Para mostrar los datos del modelo en una plantilla HTML, crea un archivo index.html
en la carpeta templates
de tu aplicación. En este archivo, crea una lista de elementos <li>
para cada objeto del modelo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Integración de Django con PostgreSQL</title>
</head>
<body>
<ul>
{% for modelo in modelos %}
<li>{{ modelo.name }}</li>
{% endfor %}
</ul>
</body>
</html>
Ejecución del proyecto
Para ejecutar tu proyecto, ejecuta el siguiente comando:
python manage.py runserver
Abre un navegador web y accede a la dirección http://localhost:8000/
. Deberás ver una lista de los objetos del modelo:
[
'Modelo 1',
'Modelo 2',
...
]
Conclusión
En este tutorial, hemos visto cómo integrar Django con PostgreSQL. Para ello, hemos instalado el módulo psycopg2
, configurado Django para que utilice PostgreSQL, creado un modelo, migrado el modelo, creado una vista y creado una plantilla HTML.
Para obtener más información sobre la integración de Django con PostgreSQL, consulta la documentación oficial de Django:
- [Usando PostgreSQL](https://docs.djangoproject.