python – Tipfy&Jinja:为每个页面创建一个注销URL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Tipfy&Jinja:为每个页面创建一个注销URL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1187字,纯文字阅读大概需要2分钟。
内容图文
![python – Tipfy&Jinja:为每个页面创建一个注销URL](/upload/InfoBanner/zyjiaocheng/755/82b2c2b7f70945ffa42d34f282e853d6.jpg)
我有一个jinja模板,带有通常的样板链接,其中一个是“退出”链接.在呈现页面之前,必须使用Users.create_logout_url()生成此链接的URL.
我想避免生成此URL并将其添加到每个get / post处理程序的render_response中.我已经研究过替代品,但还没有找到一种功能性的方法来解决这个问题.
BaseRequestHandler
这似乎是最干净的方法,但我不确定如何去做.会不会是这样的
self.vars['logout_link'] = users.create_logout_url(self.request.path))
..然后,在所有标准响应处理程序中:
return render_response('template.html', **vars)
?
装饰
这似乎是另一种选择,虽然看起来有点凌乱.我想它可以以相同的方式工作(将logout链接分配给包装函数中的局部变量).
上下文处理?
我正在使用tipfy / jinja,据我所知,这似乎不支持这个.
有什么建议我应该进一步调查吗?
谢谢
解决方法:
我使用Jinja / GAE做类似的事情,并使用BaseHandler我包含的模板. BaseHandler:
class BaseHandler(webapp2.RequestHandler):
...
def render_jinja(self, name, **data):
data['logout_url']=users.create_logout_url(self.request.uri)
template = jinja_environment.get_template('templates/'+name+'.html')
self.response.out.write(template.render(data))
然后我可以继承例如表单处理程序的basehandler:
class FileUploadFormHandler(BaseHandler):
def get(self):
...
self.render_jinja('contact_jinja', form=form, ...
内容总结
以上是互联网集市为您收集整理的python – Tipfy&Jinja:为每个页面创建一个注销URL全部内容,希望文章能够帮你解决python – Tipfy&Jinja:为每个页面创建一个注销URL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。