如何让站点每个页面共享一个整站范围的模板?(在某些框架中,称为模板继承,比如ASP.NET中的母版页)
我们可以用 base 属性来实现:
render = web.template.render('templates/', base='layout')
现在如果你调用render.foo()
方法,将会加载templates/foo.html
模板,并且它将会被 templates/layout.html
模板包裹。
"layout.html" 是一个简单模板格式文件,它包含了一个模板变量,如下:
$def with (content)
Foo
$:content
在某些情况,如果不想使用基本模板,只需要创建一个没有base属性的reander对象,如下:
render_plain = web.template.render('templates/')
$var title: This is title.
Hello, world
$def with (content)
$content.title
$:content
$var cssfiles: static/login.css static/login2.css
hello, world.
$def with (content)
$content.title
$if content.cssfiles:
$for f in content.cssfiles.split():
$:content
输入的HTML代码如下: