简介

Jinja 是一个快速、富有表现力、可扩展的模板引擎。模板中的特殊占位符允许编写类似于 Python 语法的代码。然后将数据传递给模板以呈现最终文档。

它包括

  • 模板继承和包含。

  • 在模板中定义和导入宏。

  • HTML 模板可以使用自动转义来防止不受信任的用户输入中的 XSS。

  • 沙盒环境可以安全地呈现不受信任的模板。

  • 异步支持,用于生成在没有额外语法的情况下自动处理同步和异步函数的模板。

  • 使用 Babel 的 I18N 支持。

  • 模板被编译为优化的 Python 代码,并进行即时编译和缓存,或者可以提前编译。

  • 异常指向模板中的正确行,以便更容易进行调试。

  • 可扩展的过滤器、测试、函数,甚至语法。

Jinja 的理念是,虽然应用程序逻辑尽可能属于 Python,但它不应该通过过多地限制功能来让模板设计人员的工作变得困难。

安装

我们建议使用最新版本的 Python。Jinja 支持 Python 3.7 及更高版本。我们还建议使用虚拟环境来隔离项目依赖项与其他项目和系统。

使用 pip 安装最新的 Jinja 版本

$ pip install Jinja2

依赖项

这些依赖项将在安装 Jinja 时自动安装。

  • MarkupSafe在呈现模板时转义不受信任的输入,以避免注入攻击。

可选依赖项

这些发行版不会自动安装。

  • Babel在模板中提供翻译支持。