`
poplar1986
  • 浏览: 223658 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[总结 提供源码]基于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

 

可能你会觉得奇怪,为什么我要分成不同的 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)

         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 的高级实用技巧

1
1
分享到:
评论
1 楼 benjaminz 2010-06-01  

源码呢?你是在这做广告吗?

相关推荐

    py_python_

    通过标签"python"我们可以确定,这个项目完全基于Python语言进行开发。 在压缩包中,有两个Python源代码文件:`tianqiyubao(bs4).py` 和 `tianqiyubao(xpath).py`。这两个文件分别使用了BeautifulSoup和XPath两种...

    957803561014349tianqiyubao7.apk

    957803561014349tianqiyubao7.apk

    天气预报.zip

    【标签】"android studio" 显示此项目是基于Google的Android Studio开发的,这是一个流行的Android应用集成开发环境(IDE)。它包含了所有必要的工具,如代码编辑器、版本控制、构建系统以及调试器,用于构建高质量...

    newtonsoft.json解析天气数据出错解决方法

    今天用NewtonSoft.JSon解析一个天气数据,数据格式如: 代码如下:{...”url”:”http:\/\/www.tianqiyubao.com\/local.php?dis_id=1119″,”weather”:”1″,”wind”:”\u897f\u98ce3-4\u7ea7″,”weather_name”:”\u

    tianqiyubao.py

    天气预报语音版,调用百度云语音

    联网天气预报开发

    在安卓应用开发中,"联网天气预报开发"是一个常见的需求,涉及到网络编程、数据解析以及用户界面设计等多个方面。此项目使用Java语言进行编写,针对Android操作系统,利用JSON解析技术来处理从网络接口获取的数据。...

    一个利用HBuilder开发的web天气预报安卓app,完全使用前端技术

    一个天气预报APP,利用HBuilder+mui开发,使用前端技术,可以查看最近三天的温度天气等情况,可以查看PM2.5和空气湿度等信息,使用和风天气API,所有数据都通过和风天气API获得,读者可以根据需要进行修改选择所需的...

    Android简易天气预报

    【Android简易天气预报】是一个适合初学者学习的项目,它以最基础的方式展示了如何在Android平台上开发一个简单的天气查询应用。这个项目可以帮助开发者了解Android应用的基本架构,以及如何通过网络获取并显示数据...

    安卓天气预报案例

    在安卓应用开发中,"安卓天气预报案例"是一个常见的实战项目,它涵盖了多个核心知识点,包括XML和JSON数据解析、GridView和ScrollView的使用以及网络连接技术。这些元素都是构建一个功能完善的天气应用不可或缺的...

Global site tag (gtag.js) - Google Analytics