Está en la página 1de 1

Esta web usa cookies para de

Servicios mejorar tu experiencia


formación de usuario.
y consultoría BlogSi continúas entendemos
Acerca que das tuEspañol
de FORTINUX consentimiento. Leer Más Aceptar

FORTINUX.COM
Project Management, IT Training, Consulting

0 3 / 0 2 / 2 0 2 3 P O R FO R T I N UX

Aplicación Django con postgreSQL

Aplicación Django con base de datos postgreSQL


En este tutorial veremos como crear y con gurar una aplicación Django
https://www.djangoproject.com/ utilizando la base de datos PostgreSQL gratuita que ofrece
https://neon.tech/ en su Free tier.

Para ello deberemos tener instalado Python (suele estar instalado) y la biblioteca libpq-dev en
nuestro sistema operativo. En Ubuntu / Debian y distribuciones derivadas la biblioteca se instala
mediante el comando:

sudo apt-get install libpq-dev

Trabajaremos dentro de un ambiente virtual venv que nos ofrece Python a partir de su versión 3.3
https://docs.python.org/es/3/library/venv.html. Esto nos permite aislar nuestra aplicación con todas
sus dependencias evitando instalar bibliotecas (en este caso el framework Django) en nuestro
sistema operativo.

Otra ventaja es que podremos migrar nuestra aplicación a otro entorno, por ejemplo a la nube, y
funcionará de forma similar a como lo hace en nuestro ambiente local.

Neon Postgres Serverless


Neon (https://neon.tech/) es un servicio cloud de Postgres Serverless que divide almacenamiento y
cómputo para ofrecer escalado automático, branching (ramas para desarrollo) y almacenamiento
ilimitado.

En https://console.neon.tech/sign_in se puede crear una cuenta gratuita que nos brindará una base
de datos PostgreSQL con 30 GB de espacio, 10 ramas (branches) para desarrollo y 3 vCPU (CPUs
virtuales).

Una vez creada la cuenta tendréis acceso al panel de Neon desde donde vais a poder crear la base
de datos gratuita. Para ello se crea un proyecto (Neon project) clicando en New Project y
especi cando un nombre, la versión de PostgreSQL y una región o zona. Una vez creada copiad y/o
descargad los datos de conexión que luego se necesitarán para con gurar Django.

Django para crear aplicaciones web


Django es un framework de alto nivel para Python que permite desarrollar rapidamente aplicaciones
web utilizando un diseño pragmático y limpio. Se ocupa de solucionar los problemas básicos del
desarrollo web para así poder focalizarnos en las funcionalidades especí cas que necesitamos y
evitar tener que reescribir código.

Django es gratuito, de fuente abierta (open source) y cuenta con una activa comunidad que lo
mantiene https://www.djangoproject.com/community/ y ha elaborado una considerable
documentación a lo largo de sus más de 15 años participando.

Crear una aplicación web


Los pasos a seguir para crear la aplicación web utilizando el framework Django y Python son los
siguientes:

Creamos una carpeta en nuestro disco duro y entramos en ella para poder guardar los cheros de la
aplicación:

mkdir postgresql-app
cd postgresql-app/

OPCIONAL: Si tenemos Docker instalado podríamos lanzar un contenedor con posgres dentro y
desde allí probar nuestra conexion a Neon:

docker run -it -u 0 --name postgresql-app postgres /bin/bash


psql -h pg.neon.tech

El siguiente paso es crear un ambiente virtual en Python para poder instalar Django:

# Creamos el ambiente virtual


python -m venv venv
# Lo activamos
source venv/bin/activate
# Instalamos Django
pip install django
# Verificamos que Django está correctamente instalado
python3 -c "import django; print(django.get_version())"

Ahora es el paso de crear la aplicación web:

python3 venv/bin/django-admin startproject postgresql_app


# Configuramos la aplicación
vim postgresql_app/postgresql_app/settings.py

El ejemplo para la con guración correcta de la sección DATABASES de este chero se encuentra en
la página https://neon.tech/docs/guides/django#con gure-django-connection-settings.
Debemos cambiar 'nombre_base_datos', 'nombre_usuario', 'password' y 'servidor_base_datos' con
nuestros datos y a 'PORT' asignarle el puerto 5432, que es el predeterminado.

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'nombre_base_datos',
'USER': 'nombre_usuario',
'PASSWORD': 'password',
'HOST': 'servidor_base_datos',
'PORT': '5432',
}
}

Ahora entramos al directorio postgresql_app y ejecutamos el chero manage.py:

cd postgresql_app/
python3 manage.py migrate

Finalmente ejecutamos Django. En mi caso he puesto que se ejecute en el puerto 7000. Si no lo


especi camos, el puerto predeterminado es el 8000:

python3 manage.py runserver 7000

Ahora ya podemos abrir un navegador e ir a la URL http://127.0.0.1:7000 para ver nuestra aplicación
activa.

Si buscas un formador para realizar este curso u otra actividad formativa (webinar, workshops,
bootcamps, etc.) en tu organización, me puedes ubicar a través de la página de contacto. Muchas
gracias.
Si te ha gustado el artículo puedes ayudarme haciendo una donación con criptomonedas. Gracias!!!

Donate with Crypto

Buy me a coffee

L I N U X , P Y T H O N , S O F T WA R E L I B R E , T U T O R I A L E S , U B U N T U

DJA N G O, L I N UX , N EO N , P OSG R E S , P OSTG R E SQ L , PY T H O N , U B U N T U

ANTERIOR SIGUIENTE

Jenkins con Ansible en Docker Automatizar la documentacion en python con


MKDocs

C O N TA C TA R E T I Q U E TA S

*Whatsapp:
android aplicación archivos Big Data books CentOS

creative commons devops Docker editar entorno de desarrollo

cheros FLOSS free culture free software front-end developer


* E-mail: info en fortinux punto com
* X / Twitter: @HoracioGRC , @fortinux gnu linux GNUlinux Hadoop libro linux LXC
* Mastodon: Mastodon
línea de comandos machine learning open source png
* Linkedin: es.linkedin.com/in/marcelofortino
* Formulario de contacto privacidad programación web Python remix revista ruby

scrum social media software software libre sysadmin

Buscar terminal ubuntu vagrant virtual box virtualización

Buscar virtual machine web design Wordpress

Aviso legal y privacidad / Funciona gracias a WordPress

También podría gustarte