O que é o Jinja2?

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.

Flask - Fundamentos
Curso de Flask - Fundamentos
CONHEÇA O CURSO

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:

  • 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.

Flask -  Templates com Jinja2
Curso de Flask - Templates com Jinja2
CONHEÇA O CURSO

Sendo 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.

Deixe seu comentário

Professor na TreinaWeb e graduado em Sistemas de Informação pelo Instituto Federal da Bahia. Apaixonado por desenvolvimento web, desktop e mobile desde os 12 anos de idade. Já utilizou todos os sistemas operacionais possíveis, mas hoje se contenta com o OSX instalado em seu desktop. Quando não está trabalhando, é IGL e Awper do time de CS:GO da Treinaweb. Até passou em uma peneira do Cruzeiro, mas preferiu estudar Python.

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200