Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7582390 建立时间:2006年5月29日 |

| |
[Django]Mako Templates 软件技术
lhwork 发表于 2007/3/17 13:04:39 |
Mako Templates for PythonMako 又一个Python下面的Template类库,又是出自精力旺盛的Michael Bayer,他还同时是sqlalchemy、Myghty的作者,据说速度比Django自带的Template速度要快上几乎一倍
Mako:
1.10 ms
Myghty:
4.52 ms
Cheetah:
1.10 ms
Genshi:
11.46 ms
Django:
2.74 ms
Kid:
14.54 ms但是它默认的语法风格感觉象是ASP和Perl,可能借鉴了Django的原因吧,使用方式总的来说跟Django的Template非常接近,但是对应Django的Template当中Block的处理这方面,Mako完全不同。在Django当中是在父模板(base.html) 当中定义了一个空Block,比如一个叫做main的Block:<html> <body> {% block main %} {% endblock %} </body></html>然后在子模板当中实现该block的代码:{% extends "base.html" %}{% block main %} some html code{% endblock %}但是在Mako当中一切使用函数来完成,比如在父模板(base.html) 当中定义main的函数 如下:<html> <body> ${self.main()} </body></html>然后在子模板当中实现该函数:<%inherit file="base.html"/> <%def name="main()"> some html code</%def> 当然,Mako当中的函数不仅仅限于用于继承,本来就是当作一个正常的函数来使用,但是当作上面这种用法的时候,我还是觉得Django的Block更形象一些 |
|
|