(Dec-25-2019, 02:33 AM)Skaperen Wrote: could you show a complete and simple example?
Here one with in comparison with f-string.
from jinja2 import Template
name = 'Kent'
age = 34
f_string = f"My name is {name} and I am {age}"
j_string = "My name is {{ name }} and I am {{ age }}"
tm = Template(j_string)
jinja_msg = tm.render(name=name, age=age)
print(f_string)
print(jinja_msg)
Output:
My name is Kent and I am 34
My name is Kent and I am 34
Here using
{{ }}
- expressions to print to the template output.
{% %}
- statements,like if,elif,else,for...ect.
from jinja2 import Template
t = Template("Numbers are: {% for n in range(1,10) %}{{n}} " "{% endfor %}")
print(t.render())
Output:
Numbers are: 1 2 3 4 5 6 7 8
>>> from jinja2 import Template
>>>
>>> Template("{{ 10 ** 3 }}").render()
'1000'
>>> from jinja2 import Template
>>>
>>> def foo():
... return "foo() called"
...
>>>
>>> Template("{{ foo() }}").render(foo=foo)
'foo() called'