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