Tornado自带的模板系统入门示例

Tornado 自带了模板系统,模板语法与 Django 差异不大。这里简单地介绍如何使用Tornado 的模板系统。

首先是编写 URL 规则与 Handler:

class NowaMagicHandler(tornado.web.RequestHandler):
    def get(self):
        content = u'Welcome to NowaMagic.'
        #self.write( content )
        self.render("index.html")

def main():
    tornado.options.parse_command_line()
    application = tornado.web.Application([
        (r"/", MainHandler),
        (r"/nowamagic/", NowaMagicHandler),
    ],**settings)
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()

然后是 index.html

<html>
<head>
<title>{{ title }}</title>
</head>
<body>
  <h1>{{ title }}</h1>
  <ul>
    {% for item in items %}
      <li>{{ escape(item) }}</li>
    {% end %}
  </ul>
</body>
</html>

文件包含也是用 {% include 'header.html' %} 这样的语法,和 Django 里是一样的。

还有就是对静态文件的处理,一般是建一个叫 static 的文件夹,然后把js,css,images分类放进去。当然在程序里也得写个 setting:

import os

settings = { 
    "static_path" : os.path.join(os.path.dirname(__file__), "static"), 
    "template_path" : os.path.join(os.path.dirname(__file__), "templates"), 
    "gzip" : True, 
    "debug" : True, 
}

setting 里还制定了模板的路径。关于这个 setting,更多可以参考这篇文章里提到的:如何开启Tornado的调试模式

就这样,Tornado 的模板就OK了。

===*支持中文的方法*===

self.render("index.html",title=u'登录')

猜你喜欢

转载自blog.csdn.net/cxm19830125/article/details/42652363
今日推荐