我想知道,什麼時候是正確的時機,以及如何檢查瀏覽器的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')
打印的錯誤信息,或在主頁視圖的開始再次使用該代碼段和渲染一個帶模板的消息使用一個控制返回變量,在註銷後它將被錯誤地顯示出來。
我正在尋找最優雅的方式來解決問題...也許訂閱一個事件?...寫下一個函數調用某些感興趣的視圖?