tornado强大灵活的模板机制1

tornado的模板机制是非常灵活的,也是非常强大的。和django不同,django的理念就是尽量少在模板里面写代码。

那么tornado的模板是怎么回事呢?为什么会那么强大?

tornado解析模板的时候,python解释器是把模板内容一行行的读取,然后直接转换成python代码执行的。所以你可以想象得到,tornado的模板该是多么的放宽。

(1)几乎所有的python语句都可以出现在模板中。

(2)可以传递变量,函数,任何对象

(3)<!--..{{ name }}..-->这样的注释,tornado还是会转换成变量的。

(4)有各种重载机制——include,还有UI module

。。。

这些都可见tornado模板的强大,而且tornado模板的速度是很快的。

举一个UI module的例子,ui module是什么?在我们渲染模板的时候,可能有一些我们总要重复使用的部分,那么我们就可以实现为一个ui 组件,在需要的地方创建。就想一个对象一样。这样灵活,易拓展,效率高。

步骤呢?

(1)首先你要在setting里建立一个映射。



这样tornado就能找到我们的ui module对象了。

(2)然后就去modules.py文件里创建ui module对象。这个对象继承tornado.web.UIModule,重载render,渲染一个html网页组件(这个仅仅是组件,不是完整的网页)。

<div>
.........
</div>

在重载render的时候,我们可以传一些参数进来。这样就更灵活了。


(3)怎么在网页上用?如下图:


这个ShowTime就是我们的ui对象,里面的是render的参数。




发布了44 篇原创文章 · 获赞 3 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qiya2007/article/details/25553735