Herramientas de desarrollo

backend

PostgreSQL + PostGIS

Climweb utiliza PostgreSQL para almacenamiento persistente.

PostGIS es una extensión de PostgreSQL que agrega soporte para objetos geográficos

https://www.postgresql.org

Django + Lavandera CMS

En el núcleo del sistema ejecutamos el marco Django. Se eligió un marco popular para reducir la barrera de la creación de módulos personalizados que amplíen Climweb. También buscamos un marco con baterías incluidas, simple y probado. Django era la elección obvia.

https://www.djangoproject.com

Wagtail es un sistema de gestión de contenidos (CMS) de código abierto construido sobre Django, un popular marco web Python. Está diseñado para ser amigable para los desarrolladores, flexible y brindar una experiencia de edición moderna e intuitiva para los creadores de contenido.

La interfaz de usuario de Wagtail Admin y la experiencia de edición general proporcionada por Wagtail lo convirtieron en una buena opción para Climweb, ya que permite una fácil creación y administración de contenido.

https://wagtail.org

Marco REST de Django

Para crear rápidamente puntos finales, manejar la autenticación externa, la serialización de objetos, la validación y hacer muchas más cosas, utilizamos Django REST Framework.

https://www.django-rest-framework.org

Internacionalización

Para la internacionalización (i18n), aprovechamos el soporte integrado de Django. El marco de internacionalización de Django nos permite traducir fácilmente nuestra aplicación web a varios idiomas.

Para utilizar las funciones de internacionalización de Django, envolvemos nuestro texto con una función especial llamada gettext o gettext_lazy. Para obtener más información, consulte la [documentación de internacionalización y localización de Django] (https://docs.djangoproject.com/en/3.2/topics/i18n/).

Interfaz

Climweb utiliza principalmente plantillas de Django para el frontend. Sin embargo, también utilizamos Vue.js para algunas partes de la interfaz que requieren más interactividad, como el componente del mapa de la página de inicio.

Utilizamos un enfoque personalizado para integrar Vue.js con Django. Este enfoque combina las fortalezas del sistema de plantillas de Django con los componentes reactivos de Vue y se resume a continuación:

Pasos clave en la integración de Vue en Django/Wagtail:

  • Configuración del proyecto Vue: use Vite para crear un scaffolding de un proyecto Vue dentro del directorio del proyecto Django, lo que permite el desarrollo moderno de JavaScript con características como el reemplazo de módulos en caliente.

  • Integración de plantillas de Django: incruste componentes de Vue directamente en plantillas de Django agregando un

    e incluyendo el script de la aplicación Vue a través de una etiqueta