Site-wide layout use KID template.
标签:
Kid,
Turbogears
kid的 py:match 和 py:extends 结合使用
可以方便的控制网站的整体页面布局:
py:match 遍历当前文档以及使用 py:extends 引用当前文档的文档,将满足条件的元素(element)及子元素使用声明 py:match 的element替代
要定义全局header和footer可以这样写 layout.kid:
<body match="item.tag=='{http://www.w3.org/1999/xhtml}body'" attrs="item.items()">
<!-- Header -->
<div py:replace="[item.text]+item[:]"></div>
<!-- Footer -->
其中item.tag是元素的tag,{http://www.w3.org/1999/xhtml} 表明这个xhtml文档的名称空间,[item.text]+item[:] 是被替换掉的body元素下的所有子元素
当 extend 包含body元素时,body元素将用上面的代码代替.并且原文档中body的内容将通过得到保留
由此,我们可以在layout.kid中定义 header 和 footer,其他的文档只要加上
py:extends=" 'layout' "
就可以自动的加上头尾元素了
没有评论:
发表评论