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.
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
.
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.
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:
<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