1

Como conectar Django con una base de datos en postgreSQL

Seguro intentaste conectar tu aplicación con tu base de datos de postgres, pero no tuviste éxito. Hoy te enseñaré como hacerlo.

Primero debemos instalar una librería llamada pyscopg2-binary, esta biblioteca es un conector entre python y postgres.

pip install psycopg2-binary

<!-- No olvides encender tu virtual environment -->

Luego debemos crear nuestra base de datos. Esto lo podemos hacer desde el PGAdmin o desde el PSQL Shell, yo lo haré desde el psql.

Luego de autenticarnos hacemos lo siguiente (si no sabes como autenticarte te recomiendo el curso de postgres):

CREATEDATABASE nombre_de_tu_base_de_datos

Ya que tenemos nuestra base de datos creada, vamos a nuestro projecto de django, a la carpeta principal de la aplicación, y entramos al archivo settings.py.

Nos dirigimos a la variabe DABASES y modificamos lo siguiente:

DATABASES = {
	'default': {
		'ENGINE ': 'django.db.backends.postgresql_psycopg2''NAME' : 'nombre_de_tu_base_de_datos''USER' : 'tu_user''PASSWORD' : 'tu_password''HOST' : 'localhost'#si tienes otra dirección host debes remplazar esta
		'PORT' : ''#si lo dejas vacío tomara el puerto por default
	}
}

Con esto ya está lista la conexión, ahora para que se creen las tablas solo debes aplicar las migraciones.

Espero que te haya sido de ayuda. Mucha suerte

Escribe tu comentario
+ 2
Ordenar por:
1
940Puntos

Hola yo tengo problemas al conectar mi base de datos y al momento de migrarla me manda error

2
13031Puntos
7 meses

Qué error te manda?
Por ahora te se decir que el hay un typo en este código: ojo a ENGINE, tiene un espacio que no debería.

'ENGINE': 'django.db.backends.postgresql_psycopg2'

1

me da error al instalar el psycopg

ERROR: Could not find aversion that satisfies the requirement psycopg2-binary (from versions: none)
ERROR: No matching distribution found for psycopg2-binary
1
89Puntos

En caso de que no te funcione, debes agregar comas la final de cada llamado.

DATABASES = {
	'default': {
		'ENGINE ': 'django.db.backends.postgresql',
		'NAME' : 'nombre_de_tu_base_de_datos',
		'USER' : 'tu_user',
		'PASSWORD' : 'tu_password',
		'HOST' : 'localhost',
		'PORT' : ''5432' 
	}
}