Templates no Flask Framework – Uma visão sobre o Jinja

Assim como vimos em nosso artigo anterior, o flask é um micro framework bem simples e com toda a certeza, muito poderoso.

Neste segundo artigo, a fim de que possamos criar as nossas páginas, nós vamos começar a trabalhar com templates. Antes de mais nada, os templates no flask framework são orquestrados através da biblioteca muito poderosa chamada Jinja.

python flask framework

Como trabalhar com templates no Flask Framework

Primeiramente, o Flask possui duas grandes dependências.

A primeira delas é o Werkzeug. Já a segunda é justamente o seu sistema de templates: o Jinja.

Com o Jinja, trabalhar com templates fica muito fácil.

Apesar de não ser o nosso escopo, e acima de tudo, não ser necessário possuir domínio sob a API do Jinja, eu gostaria de colocar um exemplo simples mostrando como é simples trabalhar com a sua API:

Templates no Flask Framework e o Jinja

Por se tratar de uma dependência direta do próprio Flask, nós não precisamos nos preocupar com absolutamente nada ao iniciar o trabalho com os nossos templates.

O que é o Jinja

Python Jinja 2

O Jinja é um sistema de templates moderno e de fácil entendimento tanto para programadores quanto para designers para a linguagem Python.

Exemplo:

Características do Jinja 2:

  • Execução em Sandbox
  • Herança entre templates
  • Compilação otimizada JIT para python
  • Fácil de debugar
  • HTML scaping para prevenção de XSS
  • Sintaxe configurável

Criando os nossos templates no flask framework

Nesta segunda parte de nosso tutorial sobre o Flask Framework, nós criaremos a nossa primeira grande página.

Mentira, será uma página pequena e simples, mas servirá para entendermos melhor como funcionam os templates no flask framework.

A nossa primeira página com o Jinja 2

Nossa primeira página será bem simples.

Nós teremos uma lista com todas as nossas droplets de nossa conta na Digital Ocean.

digital ocean

Ainda não tem uma conta na Digital Ocean? Clique aqui e ganhe $ 10,00 de brinde para seguir este nosso tutorial sem precisar gastar o seu dinheiro!

Então vamos lá. Nesta nossa primeira página, nós iremos listar todas as nossas droplets. Você vai perceber aqui que a sintaxe no Jinja é bem fácil de entender, além de ser bem próxima ao python:


E pronto, agora temos toda a nossa página, conforme abaixo:


Além da sintaxe simples desta biblioteca de templates, nós precisamos aprender apenas mais uma coisa. Por padrão, o Flask irá procurar os nossos templates na pasta, que por mais estranho que pareça, tem o nome de template  =D

Então para garantir que estamos seguindo as convenções do Flask, nós teremos a seguinte estrutura (bem simples) de pastas:

Estrutura projeto Flask Framework

DRY – Não reinventar a roda!

Na primeira parte deste tutorial, nós começamos a criar a estrutura para listar todas as nossas droplets.

A questão aqui é: Já existem algumas bibliotecas que fazem exatamente isso!

E lembrando da nossa querida PEP 20, ou também conhecida como The Zen of Python:

There should be one– and preferably only one –obvious way to do it.

Então agora adicionaremos a nossa terceira dependência do projeto:

Para adicionar o python-digitalocean é muito simples, basta utilizar o nosso velho amigo pip:


Com isso, o nosso arquivo requirements.txt ficará assim:

Refatorando o nosso código

Agora que estamos utilizando o python-digitalocean , o nosso projeto deu uma drástica diminuida no tamanho!

Agora o nosso projeto, além do template, possui o seguinte código:


E por fim, para acompanhar todo o desenvolvimento deste nosso projeto, você pode acessar o repositório que está hospedado no github:

Tutorial Começando com Flask Framework

  1. Começando Com o Flask Framework
  2. Templates no Flask Framework – Uma visão sobre o Jinja
  3. Flask com Angular 6 – Modernizando as Views

No Responses

  1. Pingback: Começando Com o Flask Framework - Rafael Marques 27 de setembro de 2018

Leave a Reply