Arquitetura Geral¶
Módulo Base (/base/)¶
Modelos principais e esquema de banco de dados
Blocos e modelos personalizados
Tratamento e validação de formulários
Ver controladores
Funções utilitárias e mixins
Sistema de gerenciamento de tarefas usando Celery
Configuração (/config/):¶
Configurações específicas do ambiente
Roteamento de URL
Pontos de extremidade da API
Configuração do mecanismo de banco de dados
Manipulação de arquivos estáticos
Apoio à internacionalização
Estrutura de conteúdo¶
O sistema é organizado em diversas seções de conteúdo principais, cada uma implementada como um aplicativo Django/Wagtail:
Página inicial (/
páginas/home/)Implementação de página inicial personalizada
Componente de mapa interativo (integração Vue.js)
Blocos e modelos personalizados
Suporte de localização
Serviços de Informação
Publicações (
/páginas/publicações/)Produtos (
/páginas/produtos/)Serviços (
/páginas/serviços/)Notícias (
/páginas/notícias/)Eventos (
/páginas/eventos/)
Dados e Pesquisa
Clima (
/páginas/clima/)Imagens de satélite (
/pages/satellite_imagery/)Clima da cidade (
/pages/cityclimate/)Estações (
/páginas/estações/)Solicitação de dados (
/pages/data_request/)
Interação do usuário
Contato (
/páginas/contato/)Feedback (
/páginas/feedback/)Assinatura de e-mail (
/pages/email_subscription/)Pesquisas (
/páginas/pesquisas/)
Mídia e recursos
Centro de mídia (
/pages/mediacenter/)Vídeos (
/páginas/vídeos/)Histórias da Web (
/páginas/webstories/)
Recursos especializados
WDQMS (Sistema de gerenciamento de qualidade de dados WIGOS) (
/pages/wdqms/)Glossário (
/páginas/glossário/)Pesquisa (
/páginas/pesquisa/)
Estrutura da página¶
Cada tipo de página, quando totalmente implementado como um aplicativo Django/Wagtail, segue uma estrutura consistente:
Modelos (
models.py)
Esquema de banco de dados
Estrutura de conteúdo
Campos e relacionamentos personalizados
Visualizações (
views.py)
Lógica de renderização de página
Processamento de dados
Manipuladores de visualização personalizados
Modelos (
/templates/)
Layouts de página
Modelos de componentes
Blocos personalizados
Ativos estáticos (
/static/)
Arquivos CSS/JS
Imagens estáticas e mídia
Componentes de front-end
Configuração
Roteamento de URL (
urls.py)Ganchos de alvéola (
wagtail_hooks.py)Configuração do aplicativo (
apps.py)