Volver al blog

Uso de PostgreSQL con Django en Ubuntu 21.04 Server

Uso de PostgreSQL con Django en Ubuntu 21.04 Server

Django es un framework web muy conocido que agiliza el proceso de creación de aplicaciones web robustas, escalables, seguras y de alto rendimiento. Es un proyecto de código abierto escrito en Python. Puedes consultar más información detallada sobre Django aquí.

Cualquier aplicación web requiere una base de datos como backend para gestionar los datos. Django admite varios motores de bases de datos como backend, por ejemplo, MySQL, PostgreSQL, SQLite etc. PostgreSQL es un potente sistema de bases de datos objeto-relacionales de código abierto. Es famoso por su fiabilidad, escalabilidad, seguridad y su robusto conjunto de características. Puedes obtener más información sobre PostgreSQL aquí.

En esta guía, mostraremos cómo integrar PostgreSQL como backend en una aplicación Django de ejemplo.

Requisitos previos

Trabajar con Django requiere ciertas configuraciones del sistema.

Esta guía también mostrará cómo utilizar varios módulos y bibliotecas de Python que son necesarios para una aplicación Django funcional.

Paso 1. Instalación de los componentes necesarios

Para que nuestro proyecto funcione, necesitamos tener instalados varios paquetes importantes en nuestro sistema Ubuntu. Afortunadamente, todos ellos están disponibles directamente en los repositorios oficiales de paquetes de Ubuntu. Estos paquetes incluyen componentes de Python y componentes de base de datos (PostgreSQL).

Primero, abre la terminal y actualiza la caché de paquetes APT:

Using PostgreSQL with Django 1

A continuación, instala los paquetes:

Using PostgreSQL with Django 2

Paso 2. Preparación de la base de datos

PostgreSQL ya está instalado y listo para usar. A continuación, vamos a crear una base de datos dedicada y un usuario para nuestra aplicación Django. Tener un usuario dedicado es beneficioso para la gestión de la base de datos y de los permisos.

Durante la instalación, PostgreSQL crea un usuario dedicado postgres. Este tiene el permiso para realizar cualquier tarea administrativa en PostgreSQL. Accede a la cuenta postgres :

Deberías entrar en una nueva sesión de shell bajo el usuario postgres. Luego, abre una shell de PostgreSQL:

Ahora crearemos una base de datos dedicada para nuestra aplicación Django. Se recomienda darle un nombre que coincida con el de la aplicación Django:

A continuación, crearemos un usuario de base de datos dedicado. Usaremos este usuario para acceder a la base de datos dedicada de Django:

El siguiente paso es ajustar un par de parámetros de conexión para el nuevo usuario. Esto ayuda a acelerar las operaciones de la base de datos, ya que no requerirá consultar los valores cada vez que se establezca una conexión. Ejecuta los siguientes comandos:

Analicemos brevemente estos comandos:

  • Estamos estableciendo la codificación predeterminada en UTF-8. Es lo que Django espera al interactuar con las bases de datos.

  • El esquema de transacciones predeterminado está configurado en “read committed”, de modo que se bloquean las lecturas de transacciones no confirmadas.

  • La zona horaria debe configurarse de acuerdo con la ubicación.

Si no estás seguro del nombre de la zona horaria, el siguiente comando listará todas las zonas horarias admitidas por PostgreSQL:

Using PostgreSQL with Django 4

Finalmente, otorgue al nuevo usuario todos los permisos en la base de datos dedicada a Django:

Nuestro trabajo con PostgreSQL ha terminado. Salga de la consola psql y cierre la sesión de postgres .

Paso 3. Instalación de Django

Hemos configurado el servidor de base de datos necesario para nuestra aplicación Django. Ahora, instalaremos y configuraremos la aplicación Django dedicada. Aunque Django está disponible directamente desde el repositorio oficial de Ubuntu, no recomendamos utilizar este método. Instalará Django en todo el sistema. Para una mejor flexibilidad y facilidad de gestión, en su lugar instalaremos Django en un entorno virtual. Es una práctica estándar instalar y configurar Django dentro de un entorno virtual de Python.

Python tiene un módulo virtualenv que crea un entorno virtual de Python en una ubicación de destino. El entorno obtiene su copia de los binarios y configuraciones de Python. Realizar cambios dentro del entorno virtual no tendrá ningún impacto en el resto del sistema.

Instale virtualenv:

Using PostgreSQL with Django 5

A continuación, nuestro objetivo es tener un directorio dedicado para establecer el entorno virtual de Python. Servirá como base para nuestra aplicación Django. Para la demostración, el nombre de nuestra aplicación será sample_app. Cree un nuevo directorio:

Cambie el directorio activo actual y establezca el entorno virtual:

Después de eso, active el entorno virtual:

El entorno virtual ya está listo y funcional. Luego, usaremos pip para instalar Django y psycopg2 (un adaptador de Python para PostgreSQL):

Using PostgreSQL with Django 6

Finalmente, podemos crear un nuevo proyecto de Django utilizando las herramientas de Django. Generará un directorio secundario con el mismo nombre que albergará todo el código y un script de gestión en el directorio actual:

Paso 4. Configuración del proyecto Django

El proyecto Django tiene todas las herramientas básicas para funcionar como una aplicación web. Para integrarlo con nuestra base de datos, necesitaremos realizar algunos ajustes en sus archivos de configuración.

Abra el archivo settings.py en un editor de texto:

Desplácese hacia abajo hasta la sección DATABASES. Por defecto, está configurada para usar SQLite:

Para nuestro propósito, cambie el código de la siguiente manera:

Aquí, le indicamos a Django que use el adaptador psycopg2 para la comunicación con la base de datos. También declaramos toda la información necesaria de la base de datos, como el nombre de la base de datos junto con el nombre de usuario y la contraseña del usuario dedicado.

Una vez terminado, guarde el archivo y cierre el editor.

Paso 5. Migración de la base de datos

Django está configurado para acceder a nuestra base de datos PostgreSQL. Ahora podemos migrar la estructura de datos a nuestra base de datos. En Django, esto se conoce como migración.

. Para migrar los cambios de la base de datos, invoque el script de gestión manage.py:


Using PostgreSQL with Django 7

A continuación, crea un superusuario para nuestra aplicación Django:

Using PostgreSQL with Django 8

Esta cuenta de superusuario actuará como la cuenta de administrador para nuestra aplicación Django.

Paso 6. Probar los cambios

Hasta ahora, hemos realizado múltiples ajustes en nuestra aplicación Django. Es hora de comprobar si todo funciona como se esperaba. Lo verificaremos iniciando la aplicación y accediendo al panel de administración.

Como estamos desarrollando la aplicación Django localmente, iniciaremos el servidor en localhost. Por tradición, lo iniciaremos en el puerto 8000. Si tienes un cortafuegos configurado, entonces debe permitir el tráfico al puerto 8000. Obtén más información sobre los conceptos básicos de UFW aquí.

Inicia el servidor Django:

Accede a la URL en un navegador:

Using PostgreSQL with Django 9

Deberías llegar a la página de éxito de la instalación de Django. Para acceder a la página de administración de Django, ve a la siguiente URL:

Using PostgreSQL with Django 10

Debes usar el superusuario que creamos para iniciar sesión:

¡Voila! ¡Hemos accedido con éxito al panel de administración!

Una vez que hayas terminado de explorar, presiona Ctrl + C desde la consola para detener el servidor Django.

Reflexiones finales

En esta guía, hemos demostrado con éxito cómo establecer una aplicación Django de muestra y configurar PostgreSQL como su backend. Aunque SQLite suele ser más que suficiente para satisfacer las necesidades durante el desarrollo (y un uso ligero en producción), la mayoría de los proyectos se beneficiarán enormemente al cambiar a un DBMS con más funciones. PostgreSQL es una excelente opción para el rendimiento y la escalabilidad.

Django es un framework web versátil que puede funcionar con numerosas tecnologías. Echa un vistazo a más guías de la nube que demuestran el uso de Django:

¡Feliz computación!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.