tornado的模板对路径的支持不好。
在Windows平台下面就没有办法用了。
所以需要第三方的模板来支持,同时由于Django是python目前最流行的框架。
考虑到方便移植,我选择了jinja2。
这个与django类似的模板系统。
它的好处是不用象django那样需要将django的整个栈都加进来。
下面是它的基本使用方法:
from jinja2 import Environment, FileSystemLoader
_TEMPLATEDIR = ‘res/html’
file = ‘index.html’env = Environment(loader = FileSystemLoader(_TEMPLATEDIR))
template = env.get_template(file)
content = template.render(params)
然后将content输出既可。
但这个时候还不行。
如果你使用了GBK的页面模板。
注:本人特别喜欢用GBK编码。
即使在UTF-8统一了很多程序员的思维的时期,
因为我坚信大部分的程序用UTF-8并没有意义,
除非他要支持多种语言,
但对于大部分WEB网站来讲,
支持多语言基本上是神话。
即使当你需要国际化时,转化也是相当容易的事情。
所以为什么不从GBK开始?
一个更加轻量的编码。
言归正传,要支持GBK,你需要做一定的修改,代码如下:
from jinja2 import Environment, FileSystemLoader
_TEMPLATEDIR = ‘res/html’
file = ‘index.html’
encoding = ‘gbk’
params = {}env = Environment(loader = FileSystemLoader(_TEMPLATEDIR, encoding=encoding))
template = env.get_template(file) #这个时候的编辑又变成了内码(unicode)
content = template.render(params).encode(encoding)
这样就可以实现编码的统一了。
当然其它保证HTTP各处的编码统一的事情我就不细说了。