Semana Anterior Semana Siguiente

Semana 11

Desarrollo de vistas, plantillas y modelos en Django

Temas Aprendidos

Django Framework Patrón MVC/MTV Vistas y URLs Plantillas Modelos de Datos ORM Django Consultas a BD Herencia de Plantillas

Esta semana aprendí sobre Django, un framework web de alto nivel para Python que sigue el patrón arquitectónico Model-Template-View (MTV). Exploré cómo crear proyectos, gestionar URLs, desarrollar vistas tanto basadas en funciones como en clases, trabajar con plantillas y definir modelos de datos. También comprendí la importancia del ORM de Django para interactuar con bases de datos de manera eficiente.

Ejercicios y Resultados

1. Configuración de URLs y Vistas

Sistema de rutas y vistas para gestión de productos

# urls.py from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('productos/', views.productos, name='productos'), path('producto/<int:id>/', views.detalle_producto, name='detalle'), ] # views.py from django.shortcuts import render, get_object_or_404 from .models import Producto def index(request): return render(request, 'index.html') def productos(request): productos = Producto.objects.all() return render(request, 'productos.html', {'productos': productos}) def detalle_producto(request, id): producto = get_object_or_404(Producto, id=id) return render(request, 'detalle.html', {'producto': producto})

Simulador de URLs Django

Resultado de navegación:
Seleccione una URL para navegar

2. Modelo de Datos

Definición de modelo Producto con ORM Django

# models.py from django.db import models class Producto(models.Model): nombre = models.CharField(max_length=100) descripcion = models.TextField() precio = models.DecimalField(max_digits=10, decimal_places=2) fecha_creacion = models.DateTimeField(auto_now_add=True) activo = models.BooleanField(default=True) def __str__(self): return self.nombre class Meta: ordering = ['-fecha_creacion'] verbose_name_plural = "Productos" # Ejemplo de uso del ORM productos = Producto.objects.all() producto_activo = Producto.objects.filter(activo=True) producto_caro = Producto.objects.filter(precio__gte=100)

Simulador de Modelo Producto

Productos en la base de datos:

Reflexión Final

El aprendizaje de Django ha sido una experiencia transformadora en mi comprensión del desarrollo web. La implementación del patrón MTV (Model-Template-View) me ha permitido organizar el código de manera más estructurada y mantenible. La capacidad de Django para manejar automáticamente muchas tareas complejas como la gestión de bases de datos, autenticación y administración ha sido impresionante.

¿Qué aprendí?

Aprendí a desarrollar aplicaciones web con Django, comprendiendo el patrón MTV, el sistema de URLs, vistas, modelos y plantillas. También me familiaricé con el ORM de Django para gestionar bases de datos.

¿Cómo aprendí?

Aprendí mediante la práctica directa, creando un sistema de gestión de productos desde cero, experimentando con diferentes tipos de vistas y explorando las funcionalidades del ORM.