Implementación de un Sistema de Blog Personal con Django

Arquitectura MVT en Proyecto de Blog

Modelo (Capa de Datos)

Gestiona la definición, almacenamiento y consulta de datos mediante modelos:

# Ejemplo de modelo Perfil
class Perfil(models.Model):
    nombre = models.CharField('Nombre completo', max_length=50)
    especialidad = models.CharField('Área de especialización', max_length=100)
    universidad = models.CharField('Institución académica', max_length=100)
    biografia = models.TextField('Descripción personal')
    habilidades = models.TextField('Competencias técnicas')
    enlace_github = models.URLField('Perfil GitHub', blank=True)

Vista (Lógica de Aplicación)

Procesa solicitudes, interactúa con modelos y prepara datos para plantillas:

# Vista de portafolio principal
def portafolio_principal(request):
    perfil = Perfil.objects.first()
    proyectos = Proyecto.objects.filter(destacado=True)[:3]
    notas_recientes = Nota.objects.filter(publicado=True)[:5]
    
    return render(request, 'portafolio/principal.html', {
        'perfil': perfil,
        'proyectos_destacados': proyectos,
        'notas_recientes': notas_recientes
    })

Plantilla (Capa de Presentación)

Estructura HTML con sintaxis de plantilas Django:

<!-- plantillas/portafolio/principal.html -->
{% extends 'base.html' %}
{% block contenido %}
<div class="cabecera-perfil">
  <h1>{{ perfil.nombre }}</h1>
  <p>{{ perfil.universidad }} · {{ perfil.especialidad }}</p>
  
  <div class="habilidades">
    {% for habilidad in perfil.habilidades_lista %}
    <span class="etiqueta-habilidad">{{ habilidad }}</span>
    {% endfor %}
  </div>
</div>
{% endblock %}

Módulos Funcionales

Portafolio Blog
- Presentación personal - Administración de notas - Exposición de proyectos - Gestión de artículos - Sistema de comentarios - Búsqueda de contenido

Tecnologías Utilizadas

  • Backend: Django 4.0, Python 3.10+
  • Base de datos: SQLite/MySQL
  • Frontend: HTML5, CSS3, JavaScript
  • Motor de búsqueda: Whoosh

Estructura de Directorios


proyecto/
├── aplicacion_blog/
├── portafolio/
│   ├── modelos.py
│   ├── vistas.py
│   └── plantillas/
├── gestion_usuario/
├── configuracion/
│   ├── settings.py
│   └── urls.py
└── static/

Flujo MVT

  1. Solicitud HTTP recibida
  2. Enrutamiento a vista correspondiente
  3. Vista consulta modelos y base de datos
  4. Datos enviados a plantilla para renderizado
  5. Respuesta HTML devuelta al cliente

Configuración Inicial

# Migraciones iniciales
python manage.py makemigrations
python manage.py migrate

# Iniciar servidor
python manage.py runserver

Características Destacadas

  • Diseño adaptable para múltiples dispositivos
  • Interfaz basada en componentes
  • Optimización para motores de búsqueda
  • Estructura modular extensible

Etiquetas: Django MVT Python DesarrolloWeb SistemaBlog

Publicado el 7-1 00:13