设为首页 收藏本站
查看: 994|回复: 0

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

[复制链接]

尚未签到

发表于 2017-5-7 08:19:21 | 显示全部楼层 |阅读模式
大家可以先看看我的三个页面,分别是
天气预报网的首页
天气预报网的省份页,如浙江省各地区未来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
 
可能你会觉得奇怪,为什么我要分成不同的header,footer和body,其实这是一个经验教训来的。
首页的footer,是因为首页那里需要添加友情链接,而城市页和省份页的footer,则是要列出xx省的脚本信息,例如这个广东省各城市的页面和广州天气预报的页面,大家可以看看脚本信息是否不一样
 
什么是MakoTemplate
 
现在给大家介绍一下什么是MakoTemplate(以下简称mako),如果你是用过PHP的Smarty模块就知道在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)
       returnmyTemplate.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的高级实用技巧
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-374004-1-1.html 上篇帖子: Python核心编程(第二版)课后习题部分代码(5章)(持续更新) 下篇帖子: 将 kjd.sgf (围棋定式)转换为 sql 语句的 python 源码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表