Paginas Estáticas e Dinâmicas com CSS Global no Flask

Flask com estilo

Compreenda as diferenças entre páginas estáticas e dinâmicas, bem como o uso de um CSS global. Além disso, a tecnologia Flask, uma estrutura leve em Python para aplicações web, fornece ferramentas para implementar ambas as abordagens de maneira eficiente. Ademais, permite o uso de um CSS global para estilização consistente. Assim, este texto explora essas diferenças, o uso do Flask e como gerenciar um CSS global para uma aplicação bem organizada e visualmente atraente.

Páginas estáticas são aquelas cujo conteúdo é fixo e não muda. Por outro lado, páginas dinâmicas ajustam seu conteúdo com base em interações do usuário, entradas de dados ou informações vindas de um banco de dados ou API. Portanto, essas páginas permitem uma experiência personalizada e interativa.

No caso do Flask, isso é alcançado usando templates dinâmicos com o mecanismo Jinja2. Com ele, é possível inserir variáveis no HTML, criar lógicas condicionais e adicionar laços dentro dos templates. Dessa forma, o Flask proporciona flexibilidade e eficiência na construção de aplicações web. Consequentemente, ele atende tanto a demandas estáticas quanto dinâmicas. Além do mais, o uso de CSS global garante consistência visual em toda a aplicação.

O Flask e a Organização de Arquivos

Antes de implementar páginas estáticas e dinâmicas, é importante entender como organizar os arquivos em um projeto Flask.
Uma estrutura típica de projeto pode ser:

  • app.py: Contém a lógica principal da aplicação Flask.
  • static/: Diretório para arquivos estáticos como CSS, JavaScript e imagens.
  • templates/: Diretório para arquivos HTML.

Criando um CSS Global

O CSS global é um arquivo de estilização que será aplicado a todas as páginas da aplicação, garantindo consistência visual.
No diretório static/css/, crie um arquivo chamado styles.css com o seguinte conteúdo:

  1. Referenciar o CSS no Template Base:

No diretório templates/, crie um arquivo base.html que servirá como modelo base para outras páginas:

Criando Páginas Estáticas no Flask

Com o template base configurado, criar páginas estáticas é simples. Por exemplo, crie uma página index.html

No app.py, registre a rota correspondente:

Criando Páginas Dinâmicas no Flask

Para uma página dinâmica, crie um arquivo dynamic.html:

Atualize o app.py para passar dados dinâmicos:

 

Quando o usuário acessar a rota /dynamic/SeuNome, o Flask renderizará a página dinâmica com os dados fornecidos.

Vantagens de um CSS Global

  • Consistência Visual: Todas as páginas compartilham a mesma estilização, criando uma experiência uniforme.
  • Facilidade de Manutenção: Alterar uma regra CSS afeta todas as páginas simultaneamente.
  • Organização: Um arquivo centralizado evita redundância de código.
Referências:

Back-End e Front-End

telefone de lata e dois garotos

Trataremos neste post de Back-End e Front-End:

Back-End

No back-end, você trabalhará basicamente com bases de dados, SQL, APIs, segurança de dados e programação na linguagem do framework. No nosso caso de estudo, utilizaremos o Flask e a linguagem Python. Dessa forma, você entenderá como construir aplicações robustas.

O objetivo é ter uma base de dados centralizada para atender todos os usuários. Assim, garantimos a integridade e a organização das informações.

Exemplo de Back-End:

Consultar, salvar, editar ou remover informações em uma base de dados única é essencial para a gestão de dados. Além disso, a automação desses processos facilita a escalabilidade.

Se estivermos falando de microserviços, podemos pensar em uma base de dados simples ou no acesso a módulos e funções Python por meio de APIs. Consequentemente, isso permite maior flexibilidade e desempenho em aplicações complexas.

Um exemplo de microserviço é um aplicativo de rota de veículos. Cada veículo compartilha sua localização em intervalos de tempo constantes. O servidor com essas informações pode calcular a velocidade média dos veículos e informar a todos onde o fluxo está lento. Neste caso, será um microserviço se o processamento ocorrer entre vários servidores, cada um com sua função específica. Com os dados pré-processados separadamente por cada servidor, podemos atingir o objetivo final: retornar as informações ao aplicativo de diversos clientes. Portanto, microsserviços permitem maior escalabilidade com máquinas menos robustas, mas exigem uma coordenação eficiente entre as diversas equipes de TI.

front-end

Front-End

No front-end, você aprenderá o que chamamos de “Web Design”, que envolve o desenvolvimento de componentes, estrutura das páginas, acessibilidade, design responsivo (adaptável a telas de diferentes dimensões), paleta de cores, identidade visual e UX (experiência do usuário). Para isso, é necessário conhecer HTML, CSS (tratado com Sass ou Styled Components), JavaScript e, possivelmente, TypeScript. Assim, você estará preparado para criar experiências agradáveis para o usuário.

Exemplo de Front-End:

O editor de texto deste site roda JavaScript no computador do cliente, garantindo a segurança dos dados, pois nada sai do computador do cliente. Além disso, essa abordagem melhora o desempenho.

Um exemplo clássico é a validação do preenchimento correto de um formulário de compra. Para habilitar o botão de envio das informações ao servidor, os campos obrigatórios precisam ser preenchidos corretamente. Consequentemente, o tempo de resposta é imediato, pois o computador do cliente orienta o usuário durante o preenchimento do formulário. Se o processamento fosse feito no servidor, o tempo de resposta seria insatisfatório e o servidor ficaria sobrecarregado.

Abordaremos em outros posts sobre Back-End e Front-End.

Publicidade – Livros da Amazon: