Introducción a Django
Django es un framework de desarrollo web en Python que permite crear aplicaciones web de manera rápida y eficiente. Se basa en el patrón de diseño Modelo-Vista-Controlador (MVC) y ofrece una gran cantidad de herramientas y funciones para el desarrollo de aplicaciones web.
Instalación
Para empezar a trabajar con Django, es necesario instalarlo en nuestro sistema. Se puede hacer mediante pip, el gestor de paquetes de Python. Ejecutamos el siguiente comando en la terminal:
pip install Django
Crear un proyecto en Django
Una vez instalado Django, podemos crear un nuevo proyecto mediante el comando:
django-admin startproject nombre_proyecto
Este comando creará una nueva carpeta con el nombre del proyecto, que contendrá los archivos necesarios para su funcionamiento.
Crear una aplicación en Django
Django nos permite crear aplicaciones independientes dentro del proyecto mediante el comando:
python manage.py startapp nombre_app
Esto creará una nueva carpeta con el nombre de la aplicación, que contendrá los archivos necesarios para su funcionamiento y se integrará al proyecto.
Configuración de la base de datos
Django utiliza un ORM (Object Relational Mapper) que nos permite trabajar con la base de datos utilizando objetos de Python. Para utilizar la base de datos, debemos configurarla en el archivo settings.py. Por defecto, Django utiliza SQLite, pero se puede cambiar a otro gestor de base de datos como MySQL o PostgreSQL. Un ejemplo de configuración para MySQL:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'nombre_base_datos', 'USER': 'usuario', 'PASSWORD': 'contraseña', 'HOST': 'localhost', 'PORT': '3306', } }
Crear un modelo
Los modelos en Django se utilizan para definir la estructura de la base de datos. Se crean en un archivo models.py dentro de la aplicación. Un ejemplo de modelo:
from django.db import models class Persona(models.Model): nombre = models.CharField(max_length=50) edad = models.IntegerField() fecha_nacimiento = models.DateField() def __str__(self): return self.nombre
En este modelo se define una clase Persona que contiene tres atributos: nombre, edad y fecha_nacimiento. También se define una función __str__ que devuelve el nombre de la persona. Con esto, Django generará automáticamente una tabla en la base de datos con los campos definidos.
Crear una vista
Las vistas en Django se encargan de procesar las solicitudes HTTP y generar la respuesta correspondiente. Se crean en un archivo views.py dentro de la aplicación. Un ejemplo de vista:
from django.shortcuts import render from .models import Persona def lista_personas(request): personas = Persona.objects.all() return render(request, 'lista_personas.html', {'personas': personas})
En esta vista se define una función lista_personas que consulta todas las personas en la base de datos y las envía a un archivo HTML llamado lista_personas.html para su visualización. La función render de Django es la encargada de procesar este archivo y enviar la respuesta al cliente.
Crear una plantilla
Las plantillas en Django se utilizan para definir la estructura de las páginas HTML. Se crean en una carpeta llamada templates dentro de la aplicación. Un ejemplo de plantilla:
Lista de Personas Lista de Personas
-
{% for persona in personas %}
- {{ persona }} {% endfor %}
En esta plantilla se define una lista con todas las personas y se utiliza una etiqueta {% for %} de Django para recorrerlas e imprimir su nombre en la página.
URLs
Para asociar una vista con una URL, se deben definir las rutas en el archivo urls.py de la aplicación. Un ejemplo:
from django.urls import path from . import views urlpatterns = [ path('lista_personas/', views.lista_personas, name='lista_personas'), ]
En este archivo se define una ruta que utiliza la vista lista_personas y se le asigna el nombre lista_personas para poder referenciarla fácilmente en otras partes del proyecto.
Conclusiones
Django es un framework de desarrollo web potente y fácil de utilizar que nos permite crear aplicaciones web robustas y escalables. Además, cuenta con una gran cantidad de herramientas y funciones que nos facilitan el trabajo y nos permiten trabajar de manera más productiva. Utilizando los conceptos aprendidos en este punto, podemos desarrollar aplicaciones web completas y funcionales en poco tiempo.
Deja una respuesta