tornado中controller如何传递变量到模版
或者说模版中如何调用controller变量
最优化的方法是什么?
代码说话吧:
Controller:
class MainHandler(tornado.web.RequestHandler): def get(self): items = ["Item 1", "Item 2", "Item 3"] self.render("template.html", title="My title", items=items)
Template:
<html> <head> <title>{{ title }}</title> </head> <body> <ul> {% for item in items %} <li>{{ escape(item) }}</li> {% end %} </ul> </body> </html>
不记得文档出处了,从我以前写的代码里面翻到的,貌似可读性上比@KJ 以及@agassi_yzh 的方法都好那么一丢丢。
class MainHandler(tornado.web.RequestHandler):
def get(self):
items = ["Item 1", "Item 2", "Item 3"]
params = {
"title" : "Your Title",
"item" : items
}
self.render(u"template.html", **params)
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<ul>
{% for item in items %}
<li>{{ escape(item) }}</li>
{% end %}
</ul>
</body>
</html>
也是不小心翻文档 http://www.tornadoweb.org/documentati... 发现了更好的方法
Controller:
Template: