集成 — Jinja 文档
来自菜鸟教程
一体化
通天塔
Jinja 支持通过名为 jinja2.ext.babel_extract
的 Babel 提取器入口点从模板中提取 gettext 消息。 该支持是作为 i18n Extension 扩展的一部分实现的。
Gettext 消息是从 trans
标签和代码表达式中提取的。
要从模板中提取 gettext 消息,该项目需要在其 Babel 提取方法 映射文件 中添加 Jinja 部分:
[jinja2: **/templates/**.html]
encoding = utf-8
Environment
的语法相关选项也可用作映射文件中的配置值。 例如,要告诉提取器模板使用 %
作为 line_statement_prefix
,您可以使用以下代码:
[jinja2: **/templates/**.html]
encoding = utf-8
line_statement_prefix = %
Extensions 也可以通过将导入路径的逗号分隔列表作为 extensions
值传递来定义。 i18n 扩展是自动添加的。
默认情况下会忽略模板语法错误。 假设测试将捕获模板中的语法错误。 如果您不想忽略错误,请将 silent = false
添加到设置中。
塔架
将 Jinja 集成到 Pylons 应用程序中很容易。
模板引擎在config/environment.py
中配置。 Jinja 的配置如下所示:
from jinja2 import Environment, PackageLoader
config['pylons.app_globals'].jinja_env = Environment(
loader=PackageLoader('yourapplication', 'templates')
)
之后,您可以使用 pylons.templating
模块中的 render_jinja
函数渲染 Jinja 模板。
此外,将 Pylons c
对象设置为严格模式是个好主意。 默认情况下,对 c
对象上缺失属性的属性访问返回空字符串而不是未定义的对象。 要更改它,请将其添加到 config/environment.py
:
config['pylons.strict_c'] = True