我需要实现什么才能为repoze.bfg添加新的模板语言?框架是否会发送我的插件绝对路径或打包相对路径,或两者都取决于?
答案 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文件。