Motor de templates para Python

imagen / Dani Vázquez
  
8 de Junio de 2014   0  

Muchos de nosotros conocemos el motor de templates que utiliza el famoso framework Django, el cual por medio del envío de diccionario de datos, mejor conocido como el “contexto”, podemos enviar datos a los archivos HTML para que puedan ser analizados y procesados directamente en el template o plantilla HTML.

 

Trabajando con Django podemos obtener algo similar al siguiente código:

1. Uso de la sintaxis if:

{% if somevar == "x" %}
  This appears if variable somevar equals the string "x"
{% endif %}

2. Uso de sintaxis for:

{% for country in country_list %}
    <li>{{ country.name }}</li>
{% endfor %}

Bueno, Jinja2 nos ofrece algo similar a las sintaxis que hemos visto anteriormente y de echo, ellos mismos lo mencionan en su página oficial:

Jinja2 is one of the most used template engines for Python. It is inspired by Django’s templating system but extends it with an expressive language that gives template authors a more powerful set of tools.

Gracias a Jinja2, podemos tener la potencia del sistema de procesamiento de los templates de Django corriendo en aplicaciones escritas en Python sea utilizando frameworks de escritorio o web como Flask, bottle, entre otros.

Ejemplos de uso.

Un ejemplo básico que podemos realizar iniciando con Jinja2 es el siguiente:

>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')
u'Hello John Doe!'

Si queremos un ejemplo poco más avanzado, podemos encontrarnos el siguiente ejemplo:

{% extends "layout.html" %}
{% block body %}
  <ul>
  {% for user in users %}
    <li><a href="{{ user.url }}">{{ user.username }}</a></li>
  {% endfor %}
  </ul>
{% endblock %}

Instalación.

Para instalar Jinja2 basta con ejecutar lo siguiente:

Con pip:

pip install jinja2

Con easy_install:

easy_install jinja2

¿Quiénes lo utilizan?

¿Compatibilidad con Python 3?

Por supuesto! el equipo de desarrolladores de Jinja han echo un gran esfuerzo para que den soporte a diferentes versiones de Python. El requisito principal para poder instalar Jinja es tener una de las siguientes versiones de Python:

  • Python 2.6.x
  • Python 2.7.x
  • Python 3.3 o superior.

Para más información acerca de esta grandiosa librería, podemos leer su documentación oficial que se encuentra en la página: http://jinja.pocoo.org/docs/intro/

 

Fuente: https://github.com/mitsuhiko/jinja2



Alex Dzul

FullStack Python / Django Developer. #jslove

Etiquetas

Temas relacionados