Integración de MySQL en aplicaciones Django con Python

Integración de MySQL en aplicaciones Django con Python

Django es un framework de desarrollo web de Python que proporciona una serie de herramientas y bibliotecas para crear aplicaciones web robustas y escalables. Por defecto, Django utiliza la base de datos SQLite para almacenar los datos de la aplicación. Sin embargo, también es posible integrar Django con otras bases de datos, como MySQL.

En este tutorial, veremos cómo integrar MySQL en una aplicación Django con Python.

Requisitos

Para seguir este tutorial, necesitarás lo siguiente:

  • Un ordenador con Python 3 instalado
  • Un servidor MySQL
  • Un editor de texto

Instalación de MySQL

Si no tienes un servidor MySQL instalado, puedes descargarlo e instalarlo desde el sitio web de MySQL.

Una vez que hayas instalado MySQL, deberás crear una base de datos para tu aplicación Django. Puedes hacerlo ejecutando el siguiente comando en la línea de comandos:

mysql -u root -p

A continuación, introduce la contraseña de tu usuario root de MySQL y ejecuta los siguientes comandos para crear una base de datos y un usuario para tu aplicación Django:

CREATE DATABASE mi_aplicacion;
CREATE USER 'mi_aplicacion'@'localhost' IDENTIFIED BY 'mi_contraseña';
GRANT ALL PRIVILEGES ON mi_aplicacion.* TO 'mi_aplicacion'@'localhost';

Configuración de Django

Para configurar Django para usar MySQL, deberás editar el archivo settings.py de tu proyecto Django. En este archivo, deberás encontrar la sección DATABASES y modificarla para que se ajuste a tu configuración de MySQL.

Python
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mi_aplicacion',
        'USER': 'mi_aplicacion',
        'PASSWORD': 'mi_contraseña',
        'HOST': 'localhost',
        'PORT': 3306,
    }
}

Creación de un modelo

Para almacenar datos en MySQL, deberás crear un modelo Django. Un modelo Django es una representación de una tabla de base de datos.

Para crear un modelo, crea un archivo models.py en la carpeta de tu proyecto Django. En este archivo, crea una clase que herede de models.Model.

Python
from django.db import models

class Persona(models.Model):
    nombre = models.CharField(max_length=255)
    apellido = models.CharField(max_length=255)

    def __str__(self):
        return f'{self.nombre} {self.apellido}'

Migración

Una vez que hayas creado un modelo, deberás migrar los cambios a la base de datos. Para ello, ejecuta el siguiente comando:

python manage.py migrate

Creación de una vista

Para acceder a los datos de la base de datos, deberás crear una vista Django. Una vista Django es una función que se encarga de procesar las solicitudes HTTP y devolver una respuesta.

Para crear una vista, crea un archivo views.py en la carpeta de tu proyecto Django. En este archivo, crea una función que devuelva una lista de todas las personas almacenadas en la base de datos.

Python
from django.shortcuts import render
from .models import Persona

def personas(request):
    personas = Persona.objects.all()
    return render(request, 'personas.html', {'personas': personas})

Plantilla

Para mostrar los datos de la base de datos en una página web, deberás crear una plantilla Django. Una plantilla Django es un archivo HTML que se utiliza para generar las páginas web de tu aplicación.

Para crear una plantilla, crea un archivo personas.html en la carpeta de tu proyecto Django. En este archivo, incluye el siguiente código HTML:

HTML
<h1>Lista de personas</h1>

<ul>
{% for persona in personas %}
    <li>{{ persona }}</li>
{% endfor %}
</ul>

Ejecución de la aplicación

Para ejecutar la aplicación, ejecuta el siguiente comando:

python manage.py runserver

A continuación, abre un navegador web y navega a la dirección `http://127.0