Jinja's syntax
Jinja is a templating language written in Python. A templating language is a simple format that is designed to help automate the creation of documents. In any templating language, variables passed to the template replace predefined locations in the template. In Jinja, variable substitutions are defined by {{ }}
. The {{ }}
syntax is called a variable block. There are also control blocks defined by {% %}
, which declare language functions, such as loops or if
statements. For example, when the Post
model from the previous chapter is passed to it, we have the following Jinja code:
<h1>{{ post.title }}</h1>
This produces the following:
<h1>First Post</h1>
The variables displayed in a Jinja template can be any Python type or object, as long as they can be converted into a string via the Python function str()
. For example, a dictionary or a list passed to a template can have its attributes displayed via:
{{ your_dict['key'] }} {{ your_list[0] }...