| name | jinja2 |
| description | Template engine for Python. Use when generating HTML, reports, or dynamic text from templates. |
Jinja2
Powerful templating engine for Python.
Quick Start
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('report.html')
output = template.render(data=my_data)
Template Syntax
<!-- Variable -->
<h1>{{ title }}</h1>
<!-- Loop -->
<ul>
{% for item in items %}
<li>{{ item.name }}: {{ item.value }}</li>
{% endfor %}
</ul>
<!-- Conditional -->
{% if score > 90 %}
<span class="high">Excellent</span>
{% elif score > 70 %}
<span class="medium">Good</span>
{% else %}
<span class="low">Needs improvement</span>
{% endif %}
Filters
{{ name|upper }}
{{ value|round(2) }}
{{ list|join(', ') }}
{{ date|default('N/A') }}
{{ text|truncate(100) }}
Python Usage
# String template
from jinja2 import Template
t = Template("Hello {{ name }}!")
result = t.render(name="World")
# With context
template.render(
title="Report",
data=df.to_dict('records'),
generated=datetime.now()
)