2019-10-04 18:17:12 +00:00
|
|
|
Jinja
|
|
|
|
=====
|
2010-10-17 13:58:08 +00:00
|
|
|
|
2019-10-04 18:17:12 +00:00
|
|
|
Jinja is a fast, expressive, extensible templating engine. Special
|
|
|
|
placeholders in the template allow writing code similar to Python
|
|
|
|
syntax. Then the template is passed data to render the final document.
|
2010-10-17 13:58:08 +00:00
|
|
|
|
2019-10-04 18:17:12 +00:00
|
|
|
It includes:
|
2010-10-17 13:58:08 +00:00
|
|
|
|
2019-10-04 18:17:12 +00:00
|
|
|
- Template inheritance and inclusion.
|
|
|
|
- Define and import macros within templates.
|
|
|
|
- HTML templates can use autoescaping to prevent XSS from untrusted
|
|
|
|
user input.
|
|
|
|
- A sandboxed environment can safely render untrusted templates.
|
|
|
|
- AsyncIO support for generating templates and calling async
|
|
|
|
functions.
|
|
|
|
- I18N support with Babel.
|
|
|
|
- Templates are compiled to optimized Python code just-in-time and
|
|
|
|
cached, or can be compiled ahead-of-time.
|
|
|
|
- Exceptions point to the correct line in templates to make debugging
|
|
|
|
easier.
|
|
|
|
- Extensible filters, tests, functions, and even syntax.
|
|
|
|
|
|
|
|
Jinja's philosophy is that while application logic belongs in Python if
|
|
|
|
possible, it shouldn't make the template designer's job difficult by
|
|
|
|
restricting functionality too much.
|
|
|
|
|
|
|
|
|
|
|
|
Installing
|
|
|
|
----------
|
|
|
|
|
|
|
|
Install and update using `pip`_:
|
|
|
|
|
|
|
|
.. code-block:: text
|
|
|
|
|
2020-01-27 05:12:52 +00:00
|
|
|
$ pip install -U Jinja2
|
2019-10-04 18:17:12 +00:00
|
|
|
|
2021-08-09 07:08:47 +00:00
|
|
|
.. _pip: https://pip.pypa.io/en/stable/getting-started/
|
2019-10-04 18:17:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
In A Nutshell
|
|
|
|
-------------
|
2016-05-03 13:13:45 +00:00
|
|
|
|
|
|
|
.. code-block:: jinja
|
2010-10-17 13:58:08 +00:00
|
|
|
|
2019-10-04 18:17:12 +00:00
|
|
|
{% extends "base.html" %}
|
|
|
|
{% block title %}Members{% endblock %}
|
2010-10-17 13:58:08 +00:00
|
|
|
{% block content %}
|
|
|
|
<ul>
|
|
|
|
{% for user in users %}
|
|
|
|
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endblock %}
|
|
|
|
|
2019-05-06 14:01:39 +00:00
|
|
|
|
2021-02-24 17:46:20 +00:00
|
|
|
Donate
|
|
|
|
------
|
|
|
|
|
|
|
|
The Pallets organization develops and supports Jinja and other popular
|
|
|
|
packages. In order to grow the community of contributors and users, and
|
|
|
|
allow the maintainers to devote more time to the projects, `please
|
|
|
|
donate today`_.
|
|
|
|
|
|
|
|
.. _please donate today: https://palletsprojects.com/donate
|
|
|
|
|
|
|
|
|
2019-05-06 14:01:39 +00:00
|
|
|
Links
|
|
|
|
-----
|
|
|
|
|
2019-10-04 18:17:12 +00:00
|
|
|
- Documentation: https://jinja.palletsprojects.com/
|
2021-02-24 17:46:20 +00:00
|
|
|
- Changes: https://jinja.palletsprojects.com/changes/
|
|
|
|
- PyPI Releases: https://pypi.org/project/Jinja2/
|
|
|
|
- Source Code: https://github.com/pallets/jinja/
|
|
|
|
- Issue Tracker: https://github.com/pallets/jinja/issues/
|
|
|
|
- Chat: https://discord.gg/pallets
|