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的參數。




發佈了40 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章