Arquitectura General

Módulo base (/base/)

  • Modelos centrales y esquema de base de datos.

  • Bloques y plantillas personalizados

  • Manejo y validación de formularios.

  • Ver controladores

  • Funciones de utilidad y mixins

  • Sistema de gestión de tareas usando Celery

Configuración (/config/):

  • Configuraciones específicas del entorno

  • enrutamiento de URL

  • Puntos finales API

  • Configuración del motor de base de datos

  • Manejo de archivos estáticos

  • Apoyo a la internacionalización

Estructura de contenido

El sistema está organizado en varias secciones de contenido clave, cada una implementada como una aplicación Django/Wagtail:

  1. Inicio (/páginas/inicio/)

    • Implementación de página de inicio personalizada

    • Componente de mapa interactivo (integración de Vue.js)

    • Bloques y plantillas personalizados

    • Soporte de localización

  2. Servicios de información

  • Publicaciones (/páginas/publicaciones/)

  • Productos (/páginas/productos/)

  • Servicios (/páginas/servicios/)

  • Noticias (/pages/noticias/)

  • Eventos (/páginas/eventos/)

  1. Datos e investigación

  • Clima (/pages/weather/)

  • Imágenes de satélite (/pages/satellite_imagery/)

  • Clima de la ciudad (/pages/cityclimate/)

  • Estaciones (/páginas/estaciones/)

  • Solicitud de datos (/pages/data_request/)

  1. Interacción del usuario

  • Contacto (/páginas/contacto/)

  • Comentarios (/pages/feedback/)

  • Suscripción por correo electrónico (/pages/email_subscription/)

  • Encuestas (/páginas/encuestas/)

  1. Medios y recursos

  • Centro de medios (/pages/mediacenter/)

  • Vídeos (/páginas/vídeos/)

  • Historias web (/pages/webstories/)

  1. Funciones especializadas

  • WDQMS (Sistema de gestión de calidad de datos WIGOS) (/pages/wdqms/)

  • Glosario (/pages/glossary/)

  • Buscar (/páginas/búsqueda/)

Estructura de la página

Cada tipo de página, cuando se implementa completamente como una aplicación Django/Wagtail, sigue una estructura consistente:

  1. Modelos (modelos.py)

  • Esquema de base de datos

  • Estructura de contenido

  • Campos y relaciones personalizados

  1. Vistas (views.py)

  • Lógica de representación de página

  • Proceso de datos

  • Controladores de vista personalizados

  1. Plantillas (/plantillas/)

  • Diseños de página

  • Plantillas de componentes

  • Bloques personalizados

  1. Activos estáticos (/static/)

  • Archivos CSS/JS

  • Imágenes y medios estáticos

  • Componentes frontales

  1. Configuración

  • Enrutamiento de URL (urls.py)

  • Anzuelos de lavandera (wagtail_hooks.py)

  • Configuración de la aplicación (apps.py)