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