对比mako模板继承与Django的模板继承
2012-06-07 13:44
573 查看
Mako Templates for Python
Mako 又一个Python下面的Template类库,又是出自精力旺盛的Michael Bayer,他还同时是sqlalchemy、Myghty的作者,据说速度比Django自带的Template速度要快上几乎一倍
但是它默认的语法风格感觉象是ASP和Perl,可能借鉴了Django的原因吧,使用方式总的来说跟Django的Template非常接近,但是对应Django的Template当中Block的处理这方面,Mako完全不同。
在Django当中是在父模板(base.html) 当中定义了一个空Block,比如一个叫做main的Block:
然后在子模板当中实现该block的代码:
但是在Mako当中一切使用函数来完成,比如在父模板(base.html) 当中定义main的函数 如下:
然后在子模板当中实现该函数:
当然,Mako当中的函数不仅仅限于用于继承,本来就是当作一个正常的函数来使用,但是当作上面这种用法的时候,我还是觉得Django的Block更形象一些
Mako 又一个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 |
在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更形象一些
相关文章推荐
- [py][mx]django模板继承-课程列表页
- Django-模板继承、包含和静态文件配置
- 【Django】Python web开发:几个模板系统的性能对比(转)
- django学习笔记---模板语言继承和simple_tag
- Django 继承模板应用CSS文件方法
- Django实战(6):对比RoR和Django的模板系统
- Django模板继承后出现logo图片无法加载的问题
- Django开发个人博客网站——9、模板的继承
- Django进阶Template篇002 - 模板包含和继承
- django项目培训站-26-模板分离与继承--模板向上传递数据-模板页识别媒体路径
- Python3之Django Web框架模板继承篇
- Django 模板继承 (extend) 笔记
- Django 之 模板继承 及 函数应用
- Django实战(6):对比RoR和Django的模板系统
- Django(4)html模板继承、模板导入、分页实现
- Django之模板继承与ajax使用错误处理~
- [py]django模板继承
- Django学习笔记2 模板继承、添加页面
- django--模板的继承
- python(Django之html模板继承)