repoze.bfg web框架的chameleon.genshi模板绑定
repoze.bfg.chameleon_genshi的Python项目详细描述
休息。bfg。变色龙
变色龙Genshi样式模板支架的绑定 repoze.bfg。请参阅Chameleon website中的chameleon.genshi模板 语言细节。
bfg下使用repoze.bfg.chameleon_genshi的api是 与文档中用于chameleon.zpt`模板的模板相同 在BFG docs的“模板化”章节中。 只有模板语言本身(genshi vs.zpt)和import 位置(R.B.变色龙与R.B.变色龙)不同。
例如:
from repoze.bfg.chameleon_genshi import render_template_to_response render_template_to_response('relative/path/to/template')
relative/path/to/template相对于中的包目录 定义了上述代码。
另请参见 提供相同服务的repoze.bfg.chameleon_genshi包 作为他们兄弟的目的。
使用时,genshi模板也可以用作bfg“渲染器” repoze.bfg.chameleon_genshi。最简单的方法是 在应用程序的configure.zcml中使用以下zcml:
<include package="repoze.bfg.chameleon_genshi"/>
一旦您的应用程序设置为处理此zcml,您的 应用程序可以指向具有 .genshi文件扩展名来自@bfg_view指令或 应用程序中的zcmlview指令。例如:
@bfg_view(renderer='templates/foo.genshi') def someview(request): ....
或:
<view renderer="templates/foo.genshi" view=".views.someview"/>
如果您不想使用.genshi扩展名 chameleon.genshi模板,或者如果您不想使用zcml 注册,可以使用 add_renderer“配置器”的方法。这样做,在 run.py的bfg应用程序,在启动时调用的函数中, 使用repoze.bfg.configuration.Configurator作为config:
from repoze.bfg.chameleon_genshi import renderer_factory config.add_renderer('.cgenshi', renderer_factory)
在视图中将.cgenshi注册为呈现程序后 配置,您可以执行以下操作:
@bfg_view(renderer='templates/foo.cgenshi') def someview(request): ....
其他
默认情况下,变色龙的genshi xincludes支持无法解析 repoze.bfg“资源规范” (例如my_package:foo/bar.genshi)。为了激活 xincludes类理解repoze.bfg资源规范, 调用repoze.bfg.chameleon_genshi.XIncludes.activate方法 在使用任何模板之前(例如,在流程启动时):
from repoze.bfg.chameleon_genshi import XIncludes XIncludes.activate()
这将为 变色龙在这个过程中。
休息。bfg。变色龙
0.3(2010-07-09)
默认情况下,变色龙的genshi xincludes支持无法解析
repoze.bfg“资源规范”
(例如my_package:foo/bar.genshi)。为了激活
xincludes类理解repoze.bfg资源规范,
调用repoze.bfg.chameleon_genshi.XIncludes.activate方法
在使用任何模板之前(例如,在流程启动时):
from repoze.bfg.chameleon_genshi import XIncludes
XIncludes.activate()
这将为
变色龙在这个过程中。
取决于变色龙>;=1.2.8(可更换的Xincludes类)。
0.2(2010-06-15)
- 使用bfg 1.3.x提高速度。
0.1(2009-05-02)
- 初始版本(从bfg核心中断代码)。
0.3(2010-07-09)
默认情况下,变色龙的genshi xincludes支持无法解析 repoze.bfg“资源规范” (例如my_package:foo/bar.genshi)。为了激活 xincludes类理解repoze.bfg资源规范, 调用repoze.bfg.chameleon_genshi.XIncludes.activate方法 在使用任何模板之前(例如,在流程启动时):
from repoze.bfg.chameleon_genshi import XIncludes XIncludes.activate()
这将为 变色龙在这个过程中。
取决于变色龙>;=1.2.8(可更换的Xincludes类)。
0.2(2010-06-15)
- 使用bfg 1.3.x提高速度。
0.1(2009-05-02)
- 初始版本(从bfg核心中断代码)。