Tô animado para dividir mais com vocês sobre a criação do blog. Depois de tudo estar funcionando corretamente: back + front + infra, fico orgulhoso de ver o produto final e ter consciência de que todo o esforço até aqui, valeu a pena. Mesmo diante das dificuldades, consegui finalizar e, mesmo não possuindo muita experiência com desing, a aplicação ficou muito bonita.


Nesse post vou falar da model Post do blog, sobre como configurar corretamente a classe junto ao preview do Wagtail, permitindo acompanhar o Front-end ao editar a página no CMS. E, também, sobre como adicionar campos que compõe uma publicação como, por exemplo, imagens, código, entre outros elementos.

Django // Wagtail

Para acompanhar o conteúdo, é necessário que se tenha domínio dos conceitos básicos de Django, por isso, recomendo o tutorial oficial. Além disso, é importante entender os conceitos de uma API Rest, a comunicação entre Front-end e Back-end será feita através de requisições na API.

Já o Wagtail é um CMS que pode ser integrado a uma aplicação Django, com uma interface administrativa completa que tem suporte a funcionalidade como:

  • Sistema de páginas e hierarquias

  • Gestão de imagens e documentos

  • Mecanismo de busca integrada com ElasticSearch ou PostgresSQL

  • API nativa do framework para acessar página e recursos

E para embasamento, recomendo o blog do Michael Yin e o seu livro também, uma didática bem pratica e com bastante exemplos de código e implementações completas

Headless // CMS

Por padrão, o CMS já nos permite implementar interfaces usando html css e todo ecossistema de templates do Django, em uma solução que deixa juntos a camada de apresentação e dados. Recomendo veementemente optar por esse modelo de desenvolvimento. Ao separar o Front-end, a complexidade escala bastante e indico deixar a decisão de uma possível separação para o futuro, quando essa necessidade ficar clara.

Mesmo eu gostando de trabalhar com frameworks reativos, não recomendo o seu uso de maneira indiscriminada. O principal motivo que optei pelo uso foi pela prática e familiaridade.