O que é o Jinja2? | Blog TreinaWeb
O Jinja2 é um template engine escrito em Python que facilita a criação de páginas HTML em aplicações Python. Basicamente, ele serve para permitir que as informações trocadas entre uma aplicação escrita em Python e suas páginas HTML seja feita de forma mais simples e intuitiva, garantindo que o desenvolvedor consiga criar templates de forma mais fácil para suas aplicações.
A principal funcionalidade de um template engine é permitir que linguagens de programação possam ser incorporadas em páginas HTML. Com isso, uma template engine permite que os programadores possam utilizar estruturas de condição, estruturas de repetição, herança e diversos outros recursos presentes apenas nas linguagens de programação em páginas HTML.
Com o Jinja2 isso não é diferente, essa template engine permite incorporar código Python em páginas HTML e, mais do que isso, utilizar as principais características da linguagem em seus templates. Dentre diversas características, podemos citar as principais:
Com o Jinja2 é possível utilizar herança de layouts, garantindo uma estrutura com o maior reaproveitamento de código possível;
Permite exibir o conteúdo de variáveis Python em páginas HTML;
Como funciona o Jinja2
Basicamente, quando criamos um template com Jinja2 e incorporamos código Python nas páginas HTML, a própria ferramenta traduz o código Python e incorpora à página HTML, já que o Browser não consegue exibir código diferente do HTML.
Sendo assim, um código utilizando o Jinja2 como podemos ver abaixo é convertido em um HTML:
O Jinja2 é muito utilizada em todo ecossistema Python, tendo seu principal "cliente" o Flask, um dos maiores frameworks do mundo. Ele é incorporado ao Flask por padrão, o que o torna seu principal sistema de templates, permitindo a criação de páginas HTML em conjunto com os recursos do Python.
Curso Flask - Templates com Jinja2
Sendo assim, sempre que você criar uma nova aplicação com Flask, por padrão, está utilizando o Jinja2.
Como vimos neste artigo, o Jinja2 é um ótimo template engine e que permite a criação de páginas HTML utilizando os principais recursos do Python. Agora que vimos o que é e os principais recursos do Jinja2, no próximo artigo exploraremos alguns destes recursos para incrementar o front-end da aplicação.