使用过滤器在pylons中渲染jinja2模板对象

时间:2012-01-05 19:36:47

标签: python pylons jinja2

我正在研究一个使用jinja2作为模板引擎的pylons项目。该项目在模板引擎中添加了许多自定义过滤器。

我有一个模板对象:

>>> t = Template("this is a template {{ var|custom_filter }}!!")
>>> t.render(var="woop woop")

在这个示例中,我得到TemplateAssertionError: no filter named 'custom_filter'如何轻松渲染模板对象,而无需:从文件加载它们,或者每次我想渲染模板时手动添加每个自定义过滤器。

1 个答案:

答案 0 :(得分:1)

您可以将过滤器加载到应用程序环境中。查看this post了解有关如何操作的Pylons特定说明:

from yourapp.lib import extensions

config['pylons.app_globals'].jinja2_env = Environment(loader=ChoiceLoader(
            [FileSystemLoader(path) for path in paths['templates']]),
             extensions=[extensions.custom_filter, ...]))