如何将新的模板语言插入repoze.bfg?

时间:2009-12-18 04:00:27

标签: python repoze.bfg

我需要实现什么才能为repoze.bfg添加新的模板语言?框架是否会发送我的插件绝对路径或打包相对路径,或两者都取决于?

1 个答案:

答案 0 :(得分:2)

http://svn.repoze.org/repoze.bfg.jinja2/trunk/repoze/bfg/jinja2/处的包为BFG提供了附加的Jinja2绑定。基本上,你确实创建了这样的包,然后允许人们将它连接到他们的系统中。

有两个级别的集成。第一个是导入级集成,允许人们做类似的事情:

来自my.template.system导入render_template_to_response

def aview(request):     return render_template_to_response('some / relative / path.myt')

在repoze.bfg.jina2中使用render_template *方法,用你喜欢的模板系统的类似物替换它们会给你这个。

另一个集成级别是允许您的模板系统用作“渲染器”。这允许,例如:

@bfg_view(渲染= “一些/相对/ path.myt”) def aview(request):     返回{'a':1}

要做到这一点,请在repoze.bfg.jinja2中使用“renderer_factory”函数,然后让人们通过“config.add_renderer(renderer_factory,'。myt')”(命令性地)或通过“配置”添加此渲染器包括您在ZCML中附带的ZCML文件。