我有一个带有常用样板链接的 jinja 模板,其中一个是“退出”链接。此链接的 URL 必须在呈现页面之前使用 Users.create_logout_url() 生成。
我想避免生成这个 URL 并将其添加到我的 render_response 中,用于每个 get/post 处理程序。我已经研究了替代方案,但还没有找到解决此问题的实用方法。
BaseRequestHandler
这似乎是最干净的方法,但我不确定如何去做。会不会是这样的情况
self.vars['logout_link'] = users.create_logout_url(self.request.path))
..然后,在所有标准响应处理程序中:
return render_response('template.html', **vars)
?
装饰器
这似乎是另一种选择,尽管看起来有些混乱。我想它会以相同的方式工作(将注销链接分配给包装函数中的局部变量)。
上下文处理?
我正在使用tipfy/jinja,据我所知,它似乎不支持这一点。
有什么建议我应该进一步调查哪条路径?
谢谢