阅读https://pypi.python.org/pypi/five.pt/2.2.1
To enable Chameleon, configure the package using ZCML:
<include package="five.pt" />
Chameleon 模板是按包启用还是全局启用?说明很少。
如果我只想为特定软件包启用 Chameleon,可以吗?(使迁移到 Chameleon 更容易)
阅读https://pypi.python.org/pypi/five.pt/2.2.1
To enable Chameleon, configure the package using ZCML:
<include package="five.pt" />
Chameleon 模板是按包启用还是全局启用?说明很少。
如果我只想为特定软件包启用 Chameleon,可以吗?(使迁移到 Chameleon 更容易)
直接从包的 PyPI 页面引用:
它在现有 API(特别是
TALInterpreter
和PageTemplate
类)上使用猴子补丁来工作。简单来说,补丁所做的就是替换 TAL 解释器类,并确保所谓的“烹饪”例程使用 Chameleon 解析器和编译器,而不是zope.*
参考实现。
因此,当您加载five.pt
包时,常规页面模板代码被修补为使用 Chameleon 模板,而不是在模板被煮熟(编译)时。
这确实排除了逐个包启用 Chameleon 和禁用 Chameleon。一旦任何包使用该<include package="five.pt" />
指令,five.pt
configure.zcml
就会加载文件并应用补丁。
也就是说,理论上应该可以将每个包的启用或禁用添加回补丁中;必须教授实用程序的__call__
和cook
方法如何检测模板适用于哪个包,并决定使用哪个类和页面模板对象。five.pt
Program
RepeatDict