首页 > 代码库 > tornada模板学习笔记
tornada模板学习笔记
import tornado.webimport tornado.httpserverimport tornado.ioloopimport tornado.optionsimport os.pathfrom tornado.options import define, optionsdefine("port", default=8000, help="run on the given port", type=int)class HelloHandler(tornado.web.RequestHandler): def get(self): self.render(‘hello.html‘)class HelloModule(tornado.web.UIModule): def render(self): return ‘<h1>Hello, world!</h1>‘if __name__ == ‘__main__‘: tornado.options.parse_command_line() app = tornado.web.Application( handlers=[(r‘/‘, HelloHandler)], template_path=os.path.join(os.path.dirname(__file__), ‘templates‘), ui_modules={‘Hello‘: HelloModule} ) server = tornado.httpserver.HTTPServer(app) server.listen(options.port) tornado.ioloop.IOLoop.instance().start()
ui_moudles参数期望一个模块名为键、类为值的字典输入来渲染它们
这个例子中ui_module字典里只有一项,它把到名为Hello的模块的引用和我们定义的HelloModule类结合了起来。
现在,当调用HelloHandler并渲染hello.html时,我们可以使用{% module Hello() %}模板标签来包含HelloModule类中render方法返回的字符串。
(Hello()相当于调用了HelloModule,因为前面的ui_modules={‘Hello‘: HelloModule} 已经将两者结合,可以看成是一种别名)
<html> <head><title>UI Module Example</title></head> <body> {% module Hello() %} </body></html>
tornada模板学习笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。