ASIGNATURA: Programación III con Python
UNIDAD: IV - Desarrollo de Aplicaciones Web con Django
FECHA: 30 de Julio de 2026
Django es un framework web de alto nivel en Python que permite desarrollar aplicaciones web de forma rápida y segura. Sigue la filosofía "Batteries included" (todo incluido).
Características principales:
✅ Arquitectura MVT (Model-View-Template)
✅ Panel de administración incluido
✅ ORM para bases de datos
✅ Seguridad integrada (CSRF, XSS, SQL Injection)
✅ Sistema de autenticación nativo
Componente Función Archivo Típico
Modelo: Define la estructura de datos y base de datos models.py
Vista: Contiene la lógica de negocio views.py
Template: Define la presentación HTML templates/
Flujo de trabajo:
Usuario → URL → Vista → Modelo → Base de Datos
↓
Template → HTML → Usuario
Característica | Flask | Django
--------------------------|--------------------------|----------------------
Tipo | Micro-framework | Framework completo
Curva de aprendizaje | Baja | Media
Panel de administración | Requiere extensión | Incluido
ORM | SQLAlchemy (externo) | Django ORM (incluido)
Ideal para | APIs, proyectos pequeños | Sitios web completos
Tiempo: 45 minutos
Ponderación: 10%
Objetivo: Configurar Django, crear rutas básicas y mostrar información de playas
Abre la terminal o CMD y ejecuta:
pip install django
Verifica la instalación:
python -m django --version
Debe mostrar Django 4.2 o superior.
Navega a tu carpeta de trabajos y ejecuta:
django-admin startproject playas_margarita_[tuapellido]
cd playas_margarita_[tuapellido]
Estructura creada:
playas_margarita_[apellido]/
├── manage.py
├── playas_margarita_[apellido]/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── db.sqlite3
Crea la aplicación que manejará las playas:
python manage.py startapp playas
Estructura de la app:
playas/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
Abre el archivo settings.py (dentro de la carpeta del proyecto)
Busca la lista INSTALLED_APPS
Agrega 'playas', al final de la lista
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'playas', # ← Agrega esta línea
]
Abre el archivo playas/views.py y agrega:
from django.http import HttpResponse
def inicio(request):
return HttpResponse("<h1>Bienvenido a Playas de Margarita</h1><p>Proyecto de Programación III</p>")
def lista_playas(request):
return HttpResponse("""
<h1>Playas Disponibles</h1>
<ul>
<li>Playa El Agua</li>
<li>Playa Parguito</li>
<li>Playa Medina</li>
<li>Playa La Galera</li>
</ul>
""")
def detalle_playa(request, nombre):
return HttpResponse(f"<h1>Playa: {nombre}</h1><p>Información detallada de {nombre}</p>")
A. Rutas de la aplicación
Crea un archivo playas/urls.py (nuevo archivo):
from django.urls import path
from . import views
urlpatterns = [
path('', views.inicio, name='inicio'),
path('playas/', views.lista_playas, name='lista_playas'),
path('playas/<str:nombre>/', views.detalle_playa, name='detalle_playa'),
]
B. Rutas del proyecto principal
Abre playas_margarita_[apellido]/urls.py y modifica:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('playas.urls')),
]
Ejecuta el servidor:
python manage.py runserver
Abre el navegador y prueba las rutas:
URL
Resultado Esperado
Página de inicio
Lista de playas
http://127.0.0.1:8000/playas/El Agua/
Detalle de playa
Toma captura de pantalla de:
Terminal mostrando el servidor ejecutándose
Navegador en la ruta de inicio
Navegador en la lista de playas
Código de views.py con tu nombre en comentarios
Criterio | Descripción | Puntos
--------------------------|------------------------------------------|--------
Instalación correcta | Django instalado y versión verificada | 1 pt
Proyecto creado | Estructura de carpetas correcta | 2 pts
Aplicación registrada | 'playas' en INSTALLED_APPS | 1 pt
Vistas funcionales | 3 vistas creadas en views.py | 3 pts
Rutas configuradas | urls.py de app y proyecto | 2 pts
Servidor ejecuta | Puerto 8000 sin errores | 1 pt
**TOTAL** | | **10 pts**
10 pts
Puntos Obtenidos | Calificación (1-20) | Estado
--------------------------|--------------------------|-------------
9 - 10 pts | 18 - 20 | Excelente
7 - 8 pts | 14 - 17 | Bien
5 - 6 pts | 10 - 13 | Regular
0 - 4 pts | 01 - 09 | Reprobado
Fecha publicación: 30/07/2026.