Meteor 是我开发的一个模板处理系统,在我以前的 Blog 中已经有介绍。不过,最近做了一些修改,我会在这几篇 Blog 中详细进行介绍,希望它对你们有用。要注意的是,Meteor是一个模板替换系统,它不提供某种模板替换语言,因此在功能上并不强大,但在某些简单的环境中已经足够应付了。
一、下载安装
Meteor现放在啄木鸟社区上,大家可以到这里去下载,上面还有一些我以前写的一些文档。因为程序发生改变,以前的示例有些已经不可用了。
安装很简单:
Python setup.py install
二、简单模板示例
一 般的模板可能很简单,就是一段文本中加入一些我称之为模板变量的东西组成。模板变量在Meteor是这样的字符串:< #variable#>。其中<#是开始字串,#>是结束字串,variable是变量名。而且在Meteor中你可以改变开始和结束 字串,在后面的示例中我们会看见。
比如有这样一个模板文件(ex01.tml):
title=<#title#>
body=<#body#>
这时我想将title替换为'This',将body替换为'This is a test.'
程序是这样的:
1 from meteor import Template
2
3 if __name__ == '__main__':
4 vars = { #应为半角符,这里是全角
5 'title' : 'Test',
6 'body' : 'This is a test.'
7 }#应为半角符,这里是全角,不然发表不了
8
9 template = Template()
10 template.load('ex01.tml', 'text')
11 print template.value('text', vars)
第1行 从meteor模块中导入Template类
第4-7行 定义要替换的值,使用字典来处理,一个变量对应一个值
第9行 生成模板对象
第10行 装入模板,文件名为ex01.tml,类型为'text'
第11行 打印替换后的模板内容。'text'为简单模板的模板名(在Meteor中,一个模板对象可以处理多个模板,因此要指下要处理的模板名。对于简单模板系统定义为text。其它格式的模板可以自定义。)。vars为使用的模板变量的值。
上述程序的运行结果为:
title='Test'
body='This is a test.'
如果模板文件改为:
title=$title$
body=$body$
只要把第10行改为:
template.load('ex01.tml', 'text', '$', '$')
得到的结果与上面相同
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=166282