¿Cómo conectar Django con Postgres en Ubuntu?

Por user Jean Carlos Mariños Urquiaga
¿Cómo conectar Django con Postgres en Ubuntu?

Postgres es un motor de Base de Datos muy utilizado. Esta vez te enseñaré como conectarla con un proyecto Django.

Utilizar un motor de base de datos en una aplicación es algo inevitable. En este tutorial aprenderemos cómo conectar a Postgres, un motor de base de datos relacional, con un proyecto en Django.

Requerimientos

Para poder utilizar a Postgres como base de datos necesitamos de algunos requerimientos.


$ sudo apt-get install python-dev libpq-dev

Solo necesitamos estas 2 librerías para poder conectar a Postgres con Django sin problemas, una vez que ya tenemos esto vamos a instalar Postgres.

Instalación de Postgres

La instalación es bastante sencilla.


$ sudo apt-get install postgresql

Con esto se instalará Postgres y empezará a correr el servicio. Una vez que termine la instalación, vamos a asignarle un password a ese usuario.


$ passwd postgres

Agrega un password cuando te lo pidan. Ahora ya podemos ingresar a ese usuario.


$ su postgres

Das el password que asignaste hace un momento y con eso ya ingresaste al usuario Postgres.

Creando una Base de Datos

Cuando ya estas adentro del usuario Postgres ya podemos empezar a crear lo que necesitamos que son 3 cosas: una base de datos, un usuario de la base de datos, y asignar un password a ese usuario de base de datos.


$ createdb Ejemplo_BD
$ createuser Ejemplo_Usuario
$ psql
= ALTER USER Ejemplo_Usuario WITH PASSWORD 'password_usuario';

Con la primera linea creamos una base de datos con el nombre "Ejemplo_DB", con la siguiente linea creamos el usuario "Ejemplo_Usuario", con la siguiente linea ingresamos a la shell interactiva de Postgres para asignarle un password a nuestro usuario, en este caso es "password_usuario". Estos 3 datos son necesarios para la conexión, así que recuérdalos que mas adelante los vamos a utilizar.

Psycopg2

Para conectarnos con cualquier motor de base de datos siempre necesitamos un conector, en este caso para conectar a Postgres con Python utilizamos Psycopg2, así que vamos a instalarlo.


$ pip install psycopg2

Esto se va a instalar en su entorno virtual (espero que lo estén usando), ahora vayamos la configuración del proyecto en Django.

Configuración de Django

Para configurar Django vamos a editar el archivo de configuración que estén usando ó el settings.py si no están utilizando múltiples settings (que deberían).


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'Ejemplo_DB',
        'USER': 'Ejemplo_Usuario',
        'PASSWORD': 'password_usuario',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

En esta variable del archivo de configuración debemos poner los datos que antes creamos, en "NAME" va el nombre de la base de datos, "USER" el nombre del usuario de la base de datos y en password, el password de ese usuario, el resto son variables que nunca cambian, "ENGINE" el motor que vamos a usar por eso le pasamos el conector psycopg2, el HOST y PORT ponemos localhost y 5432 respectivamente.

Como vieron conectar a Postgres con Django es relativamente sencillo, recuerda que tenemos un curso de Django y Fundamentos de Django donde aprenderás desde cero a desarrollar este framework.

user

Jean Carlos Mariños Urquiaga

Backend Developer | Python / Django - Javascript / Node.js