转载:[NewEdit]Meteor模板系统使用说明(一)

Meteor是一个由limodou开发的模板处理系统,用于简单的文本替换任务。本文介绍了Meteor的基本使用方法,包括下载安装、模板文件的定义及如何通过Python脚本进行模板变量的替换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 http://www.donews.net/limodou/archive/2004/11/10/166282.aspx

limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source ...

导航

Blog统计
  • 文章 - 927
  • 收藏 - 0
  • 评论 - 2911
  • Trackbacks - 16
公告
  • 欢迎大家与我交流python!

    访问计数: StatCounter - Free Web Tracker and Counter
    订阅我的网志:
    Add to Google
    Subscribe in Bloglines
    Creative Commons License
    本站所有内容采用创作共用:姓名标示-非商业性-相同方式分享 2.5许可证。

文章

收藏

相册

DocBook

python

Pythoner in 中国

Python开源项目

技术

其它

我的东东

存档


 

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


[ 点击此处收藏本文]  发表于2004年11月10日 11:36 PM





 
NetSnail 发表于2004-11-11 12:18 AM  IP: 218.22.5.*
好东西,最近写的一个小软件刚好可以用到.为什么我一直不知道兄弟写了这样的库呢.谢谢了.

 
limodou 发表于2004-11-11 9:04 AM  IP: 211.150.224.*
因为这个东西我只放到了啄木鸟社区的wiki上,呵呵。还在修改中。有什么问题与我交流。

 
test 发表于2004-11-12 8:32 AM  IP: 210.83.203.*
应该加上循环控制。这样很有用的 。

 
limodou 发表于2004-11-12 8:56 AM  IP: 211.150.224.*
有这样的功能,不过是以数据驱动的,以后会有文章介绍。

 
python 发表于2004-11-12 9:51 PM  IP: 220.192.6.*
正在研究cherrypy,它有个template

 
limodou 发表于2004-11-12 10:15 PM  IP: 61.51.159.*
是的。好多web framework都有自已的模板系统。但我想要的是自已的模板系统,而且足够灵活,又不复杂,不一定功能要很强。

 
大名
网址  
验证码
评论 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值