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.
Características
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.
Curso Flask - Fundamentos
Conhecer o cursoCom 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:
- Permite o uso de estruturas de condição e repetição em páginas HTML;
- 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;
- Sistema de blocos de templates, dentre outros.
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:
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
<ul>
<li><a href="http://url_da_pagina/1"> João </a></li>
<li><a href="http://url_da_pagina/2"> Maria </a></li>
<li><a href="http://url_da_pagina/3"> José </a></li>
<li><a href="http://url_da_pagina/4"> Neuza </a></li>
<li><a href="http://url_da_pagina/5"> Geraldo </a></li>
</ul>
Com isso, podemos notar o quão poderosa é essa ferramenta. Com ela podemos utilizar os principais recursos das linguagens de programação para a criação de páginas HTML.
Quem utiliza?
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
Conhecer o cursoSendo assim, sempre que você criar uma nova aplicação com Flask, por padrão, está utilizando o Jinja2.
Conclusão
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.