歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python中的cheetah模板

Python中的cheetah模板

日期:2017/3/1 9:48:22   编辑:Linux編程

Cheetah簡介

Cheetah提供了一門簡單語言,用來定義提供基本流控制和對象訪問構造的模板。它借用了Velocity的基本模板語法,但是添加了一些特性,為Cheetah模板提供對Python的便利構造了訪問。

from Cheetah.Template import Template
dummyUser={'firstName':'Harvey','lastName':'liu'}
dummyOrder={'id':2}
definition = """Hello, $user.firstName.
Your number is $order.id."""
definition_new = Template(definition, searchList=[{'user' : dummyUser,'order' : dummyOrder}])

definition字符串包含模板定義,它可以對外部變量(動態部分)進行引用。Template構造函數在這裡用來將模板定義綁定到名稱空間的searchList:查找對象的方式對應於定義中使用的變量。例如,模板定義中的$user在這裡映射到dummyUser變量。除此之外,可以提前運行Template構造函數,並在准備使用特定對象解釋模板的時候設置其searchList成員。

假設需要更改模板,需要打印用戶的全名,而不是用戶的名字。假定dummyUser對象已經提供了該信息,則可以通過更改模板定義單獨進行此更改。而在使用內置python模板系統時,則必須更改Python代碼。

流控制:#if指令

Cheetah提供了一個#if指令,該指令允許設置if-then-else條件。

Hello, $user.firstName.
Your order (#$order.id) has shipped:
#for $purchased, $quantity in $order.purchased.items():
$purchased.name: $quantity unit
#if $quantity != 1
s
#end if
#end for

打印結果為:

Widget, green: 50 unit
s
Widget, blue: 1 unit

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved