【发布时间】:2012-03-06 15:56:56
【问题描述】:
我想知道什么时候合适,以及如何检查浏览器 cookie 支持。
我知道我必须检查下一个请求,例如,使用烧杯查找会话密钥 _creation_time 或 request.headers['Cookie']... 如果未找到则引发异常,但我不想这样做或每个请求的类似内容。我的应用程序的某些部分不需要 cookie,例如主页或信息、常见问题页面...
当用户注销时,会话被删除或失效,我曾经重定向到主视图,如果我当时检查session key,我不会找到它,但这并不意味着有这个问题。
我在登录视图开头使用的示例:
try: request.headers['Cookie']
except KeyError:
return HTTPFound(location=request.route_url('home'))
还请注意,如果我尝试使用request.session.flash(msg, 'error') 打印错误消息或在主页视图的开头再次使用 sn-p 并使用控制返回变量使用模板呈现消息,注销后它将显示错误。
我正在寻找最优雅的方式来解决问题...也许订阅一个事件?...写下一个函数以在某些感兴趣的视图中调用?
【问题讨论】:
标签: python cookies session-cookies pyramid