Tenjin1.1.1(基于嵌入Python的快速全机能模版引擎)

1.2k 词

介绍
pyTenjin是一个非常快速的全机能模版引擎。可以嵌入到python模版文件中的语句和表达式里面。pyTenjin会把它转化成Python脚本并且评估它。

!!友情提示!!
pyTenjin足够稳定 ,但是还是基于beta版本发布的。这就意味着未来API的式样在未来会修改。

机能特点

非常快速

比Django快10倍,比Cheetah快4倍,比Mako快2倍。 另外tenjin.py加载的很快轻量(对CGI程序很重要)

全机能

可组装的布局模版 可拆分(局部变量)缓存 捕获 预处理

学习简单

你不需要学习特别的模版语言。

支持GAE

用户手册和变更细节请看连接。

安装

1.使用easy_ install安装。

$ sudo easy_install Tenjin

2.用源代码安装。
$ tar xzf Tenjin-X.X.X.tar.gz
$ cd Tenjin-X.X.X
$ sudo python setup.py install

更简单的办法是,直接将’lib/tenjin.py’和’bin/pytenjin’这两个文件复制到要使用的那个目录。

(可选项目)安装PyYAML

例子
example.pyhtml

<?py # -*- coding: utf-8 -*- ?>
<?py #@ARGS items ?>
<table>
<?py cycle = new_cycle('odd', 'even') ?>
<?py for item in items: ?>
  <tr class="#{cycle()}">
    <td>${item}</td>
  </tr>
<?py #endfor ?>
</table>

example.py:

import tenjin
#tenjin.set_template_encoding('utf-8')  # optional (defualt 'utf-8')
from tenjin.helpers import *
from tenjin.html import *
#import tenjin.gae; tenjin.gae.init()   # for Google App Engine
engine = tenjin.Engine()
context = { 'items': ['<AAA>', 'B&B', '"CCC"'] }
html = engine.render('example.pyhtml', context)
print(html)

Output:

$ python example.py
<table>
  <tr class="odd">
    <td><AAA></td>
  </tr>
  <tr class="even">
    <td>B&B</td>
  </tr>
  <tr class="odd">
    <td>"CCC"</td>
  </tr>
</table>