`
poplar1986
  • 浏览: 221886 次
  • 性别: 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  

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

相关推荐

    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

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

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

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

    基于matlab实现的相移光纤光栅(FBG.rar

    基于matlab实现的相移光纤光栅(FBG.rar

    nfcPro-2020071702 id、ic读卡器软件

    配套设备仪器用

    数据更新至2020年分地区电源项目 建设本年施工规模.xls

    数据来源:中国电力统计NJ-2021版

    基于matlab实现烟花寻优算法,自己编的.rar

    基于matlab实现烟花寻优算法,自己编的.rar

    数据更新至2020年分电压等级35千伏及以上 企业自备变压器情况.xls

    数据来源:中国电力统计NJ-2021版

    基于Java的俄罗斯方块游戏的设计与实现

    俄罗斯方块游戏最初是由俄罗斯人阿列克谢·帕基特诺夫在1984年开发的休闲小游戏,曾几何时它创造了无可匹敌的商业价值,影响了一代休闲小游戏的开发与产业链。随着信息时代科技时代的不断发展和变化,计算机已经普及到每一个人的生活中,在繁忙的工作生活中,这一类休闲小游戏给人们带来了些许的放松。 这篇论文详细的描述分析了经典传统的俄罗斯方块实现的基本思路和一些基本游戏规则,在此基础之上,更进一步地开发出俄罗斯方块的创新创意模式,在经典游戏基础上开发出随着分数增高而等级增高难度加大的模式,并且创意性的开发出可操控方块颜色变换的模块,并且增添了游戏声音和音乐模块。本论文对上述功能给出了具体实现流程、详细描述、和一些源代码。 本论文阐述了俄罗斯方块游戏的开发和发展历史、开发此游戏的意义以及开发环境并根据软件工程开发软件和java编写程序的相关知识,对程序的需求分析、概要设计、详细设计与实现、调试运行进行了一系列描述。 此次程序设计是在Microsoft Windows 7系统下,以Java为开发语言,在Eclipse开发平台上进行游戏的设计与实现。

    一个基于ArkTS开源的鸿蒙next版的物流APP源代码

    一个基于ArkTS开源的鸿蒙next版的物流APP源代码

    (更新至2022年)就业基本情况.xls

    数据来源:中国人口与就业统计NJ-2023版

    node-v12.2.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    limbox86pcemulator_241983-3.apk

    limbox86pcemulator_241983-3.apk

    各地区分行业国有单位其他就业人员和平均工资(2022年).xls

    数据来源:中国劳动统计NJ-2023版

    node-v10.18.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    (更新至2022年)平均预期寿命.xls

    数据来源:中国人口与就业统计NJ-2023版

    2023年华数杯不透明制品最优配色方案设计B题全文

    2023年华数杯全国大学生数学建模大赛的大数据B题论文全文,文中框架完整,内容较为详细,此论文获得华数杯三等奖,为了避免二次外传,本文设置了水印,请各位注意文章隐私,同时由于限制,在此并未上传相关代码,若需要代码或答疑等服务,请私聊作者。 日常生活中五彩;缤纷的不透明有色制品是由着色剂染色而成。因此,不透明制品的配色对其外观美观度和市场竞争力起着重要作用。然而,传统的人工配色存在一定的局限性,如主观性强、效率低下等。因此,研究如何通过计算机方法来实现不透明制品的配色具有重要意义。 以下是部分题目 光通过物体传播有吸收、反射和透射三种方式。对于不透明制品来说,大部分光线会被其表面吸收或反射。吸收和反射的光线在经过透明度等校正后按波长分解成不同的颜色成分,形成光谱图。该光谱图通常由 400--700nm 波段的各色光组成。为简化计算,最终配色后的颜色的反射率以 20nm 为间隔的光谱数据来表示。对于不透明材料而言,吸收系数 K/散射系数 S 的比值与反射率 R 之间存在一定关系,具体请参考文献【1】《计算机配色理论及算法的研究》中的 K-M光学模型。基于光学模型得到的颜色参数,可应用于色

    华为 OD 机考攻略-加强版

    附件是 华为 OD 机考攻略_加强版,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

    分行业城镇非私营单位就业人员工资总额(2003-2011年).xls

    数据来源:中国劳动统计NJ-2023版

Global site tag (gtag.js) - Google Analytics