|  |      1kenneth OP Tornado整合Jinja2的时候,如何把这些变量传过去呢? | 
|  |      3keakon      2012-12-20 19:23:48 +08:00 覆盖 render 方法,把 self 传进去=。= | 
|  |      4fanzeyi      2012-12-20 19:26:19 +08:00 | 
|  |      6Livid MOD PRO 继承 RequestHandler,重新实现 initialize 方法,在 initialize 的时候给 handler instance 加一个数组 self._values,新增 finalize 方法,然后在其中把 _values 数组传给 Jinja2。 | 
|  |      7kenneth OP @Livid 我菜鸟,所以还是不太明白。我搜索了一些网络文章,这篇http://www.yeolar.com/note/2012/08/26/mako-usage/ 整合的是mako,感觉是我想要的,jinja2不知道如何重写render_string() 方法。 我试着用Tornado模仿v2ex,http://www.mvmap.com正在写。 | 
|  |      8Mattsive      2012-12-21 19:28:22 +08:00 继承 RequestHandler,加一个 current_user 的 @property,在 view 里需要的时候 handler.current_user 即可 | 
|  |      9nanbei      2012-12-21 23:54:41 +08:00 class BaseHandler(tornado.web.RequestHandler): def get_current_user(self): username = self.get_secure_cookie("username") if not username: return None return username def get_context(self): self.context = { 'current_user':self.get_current_user(), } logging.info(self.xsrf_form_html) if config['app']['xsrf_cookies']: self.context['xsrf_form_html'] = self.xsrf_form_html return self.context | 
|  |      10nanbei      2012-12-21 23:55:19 +08:00 强烈建议v2ex加上代码高亮!!! |