[总结 提供源码]基于Python MakoTemplate开发的www.tianqiyubao-5-7-10.com

大家可以先看看我的三个页面,分别是

天气预报网的首页

天气预报 的省份页 ,浙江省各地区未来 5-7 天天气预报

天气预报网 的城市页 浙江杭州未来 5-7 天的天气预报

页面

模板文件名

天气预报

Index_header.tpl;index_body.tplindex_footer.tpl

浙江省各地区未来 5-7 天天气预报

state_header.tpl state_body.tplstate_footer.tpl

浙江杭州未来 5-7 天的天气预报

city_header.tpl;city_body.tplcity _footer.tpl

 

可能你会觉得奇怪,为什么我要分成不同的 headerfooterbody ,其实这是一个经验教训来的。

首页的 footer ,是因为首页那里需要添加友情链接,而城市页和省份页的 footer ,则是要列出 xx 省的脚本信息,例如这个 广东省各城市 的页面和 广州天气预报 的页面 , 大家可以看看脚本信息是否不一样

 

什么是 MakoTemplate

 

现在给大家介绍一下什么是 MakoTemplate( 以下简称 mako), 如果你是用过 PHPSmarty 模块就知道在 web 开发过程一个页面模板是多么的重要。 mako 是使用 python 编写的,没有用到 xml 语法,目前 python 当中性能最好的模板之一。目前的使用案例就有 python 的官网 python.org ,还有 reddit.com 的新版,目前我还没有用过 dangjo ,但感觉 mako 已经足够我使用了

具体的入门例子大家可以到 mako 官网的 文档 那里看,我这里贴一下我自己写的 python 组件

 

#encoding=UTF-8

# 你需要建立一个 template 目录,用来存放你的模板文件,例如可以存放一个 test.txt 来进行 # 测试,直接运行我的脚本 python templateUtils.py

# 一个 tmp 目录 tmp/mako_modules 目录来存放编译生成的临时文件

from mako.template import Template

from mako.lookup import TemplateLookup

import sys

reload(sys)

sys.setdefaultencoding('utf8')

myLookup = TemplateLookup(directories=['template'],module_directory='tmp/mako_modules')

def serve_template(templateName,**kwargs):

        myTemplate = myLookup.get_template(templateName)

         return myTemplate.render(**kwargs)

 

if __name__ == '__main__':

        print serve_template('test.txt',name='yang',test='test',test1='test1')

 

test.txt 的内容

 

say hello to ${name}

 

使用 mako 的感受

1. 在做这个 天气预报查询网 的之前,我曾经是用 file.write() 来做文件生成,真的是费时费力,用了 mako ,把要生成的文件分割好,接下来就可以直接填入参数来生成需要的文件了

2. 生成 xml 文件, mako 可以生成 xml ?当然了,你只要设定好 xml 文件的内容,填入参数即可

3. 目前文档都是英文的,可能对于部分朋友不是那么友好,期待有达人进行中文翻译

4.mako 用的人感觉还是比较少,很多时候遇到问题我都是去官网那里摸索,过程比较痛苦,但现在看着 天气预报查询网 基本成型,也蛮开心的,有一种收获的感觉哦

 

下一篇,我会继续介绍 mako 的高级实用技巧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值