介绍

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

它包括:

  • 继承和包含模板。

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

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

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

  • 支持生成无需额外语法即可自动处理同步和异步功能的模板。

  • 我和巴贝尔一起支持。

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

  • 异常指向模板中的正确行,以简化调试。

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

Jinja的理念是,如果可能的话,应用程序逻辑应该属于Python,但不应该因为过度限制功能而使模板设计者的工作变得困难。

安装

我们建议使用最新版本的Python。JJJA支持Python3.7及更新版本。我们还建议您使用 virtual environment 以便将您的项目依赖项与其他项目和系统隔离。

使用pip安装最新的Jinja版本:

$ pip install Jinja2

依赖关系

这些将在安装Jinja时自动安装。

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

可选依赖项

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

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