Jinja2是基于
Python的模板引擎,功能比较类似于
PHP的smarty,J2ee的Freemarker和velocity。它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。jinja2使用BSD授权。
高效的执行效率,Jinja2引擎在模板第一次加载时就把源码转换成
Python字节码,加快模板执行时间。
语法可配置,可以重新配置Jinja2使得它更好地适应LaTeX或
ECMAScript的输出。
Jinja2模板引擎允许自定义标签、过滤器(用于格式化或转换值)、测试(用于评估条件)和全局变量。与
Django模板引擎不同,Jinja允许模板设计者在对象上调用带参数的函数。Jinja还配备了类似Unix管道的易于使用的过滤器系统。
Jinja2也被Ansible、Trac和Salt等工具使用。此外,它还用于创建
SQL宏,例如用于与dbt一起使用。