介绍¶
Jinja是一个快速、有表现力、可扩展的模板引擎。模板中的特殊占位符允许编写类似Python语法的代码。然后传递模板数据以呈现最终文档。
它包括:
继承和包含模板。
在模板中定义和导入宏。
HTML模板可以使用自动转义来防止XSS不受信任的用户输入。
沙盒环境可以安全地呈现不受信任的模板。
支持生成无需额外语法即可自动处理同步和异步功能的模板。
我和巴贝尔一起支持。
模板被及时编译为优化的Python代码并被缓存,或者可以提前编译。
异常指向模板中的正确行,以简化调试。
可扩展的过滤器、测试、函数,甚至语法。
Jinja的理念是,如果可能的话,应用程序逻辑应该属于Python,但不应该因为过度限制功能而使模板设计者的工作变得困难。
安装¶
我们建议使用最新版本的Python。JJJA支持Python3.7及更新版本。我们还建议您使用 virtual environment 以便将您的项目依赖项与其他项目和系统隔离。
使用pip安装最新的Jinja版本:
$ pip install Jinja2
依赖关系¶
这些将在安装Jinja时自动安装。
MarkupSafe 在呈现模板时转义不受信任的输入,以避免注入攻击。
可选依赖项¶
这些发行版不会自动安装。
Babel 在模板中提供翻译支持。