整合¶
Bottle¶
这个 Flask 同样由托盘维护的Web应用程序框架默认使用JJJA模板。FASK为您设置了一个JJJA环境和模板加载器,并提供了从视图函数轻松呈现模板的函数。
Django¶
Django支持使用JJJA作为其模板引擎,请参阅https://docs.djangoproject.com/en/stable/topics/templates/#support-for-template-engines.
Babel¶
Jinja支持通过 Babel 调用了提取程序入口点 jinja2.ext.babel_extract
. 支持作为 i18n扩展 延伸。
Gettext消息都是从这两者中提取的 trans
标记和代码表达式。
为了从模板中提取gettext消息,项目需要在其Babel提取方法中使用Jinja部分 mapping file :
[jinja2: **/templates/**.html]
encoding = utf-8
的语法相关选项 Environment
也可以作为映射文件中的配置值使用。例如,告诉提取器模板使用 %
作为 line_statement_prefix
您可以使用此代码:
[jinja2: **/templates/**.html]
encoding = utf-8
line_statement_prefix = %
扩展 也可以通过传递逗号分隔的导入路径列表定义为 extensions
价值观。i18n扩展是自动添加的。
默认情况下会忽略模板语法错误。假设测试将捕获模板中的语法错误。如果您不想忽略错误,请添加 silent = false
设置。
Pylons¶
将Jinja集成到 Pylons 应用。
模板引擎配置在 config/environment.py
. Jinja的配置如下所示:
from jinja2 import Environment, PackageLoader
config['pylons.app_globals'].jinja_env = Environment(
loader=PackageLoader('yourapplication', 'templates')
)
之后,您可以使用 render_jinja
函数来自 pylons.templating
模块。
另外,设置塔架也是个好主意 c
对象设置为严格模式。默认情况下,对上缺少的属性进行属性访问 c
对象返回空字符串,而不是未定义的对象。若要更改此项,请将此项添加到 config/environment.py
:
config['pylons.strict_c'] = True