2009-09-10 40 views
1

我正在用AppEngine編寫一個簡單的應用程序。在用戶成功插入並重定向後,我想在下一頁顯示一條Flash確認消息。如何在AppEngine(Python)中的請求之間保持狀態?

在一個請求和下一個請求之間保持狀態的最佳方式是什麼?或者這是不可能的,因爲AppEngine是分佈式的?我想,潛在的問題是,AppEngine是否提供了一個持久的會話對象。

感謝

漢納斯

回答

3

沒有會話支持包含在應用程序引擎本身,而是你可以添加自己的會話支持。

GAE Utilities是專門爲此製作的一個庫;更重量級的選擇是通過App Engine Patch使用django會話。

+0

另一個不錯的選擇是Beaker,它支持數據存儲,memcache和加密的cookie會話。 – 2009-09-11 07:32:46

+0

太好了,謝謝! gaeutilities正是我正在尋找的! – Hannes 2009-09-11 08:25:00

3

可靠地保持請求之間狀態的方式是memcache,數據存儲或通過用戶(cookie或post/get)。

您也可以使用運行時緩存,但這是非常不可靠的,因爲您不知道請求是否會在相同的運行時中結束,或者如果運行時感覺像是它會丟棄整個緩存。

我真的不會使用運行時緩存,除非是非常特殊的情況,例如我用它緩存對象到json的序列化,因爲這很慢,如果緩存不存在,我可以輕鬆地重新生成結果。

+0

啊,也許我回答的太快了。但是,這當然也適用於實施會議。 – 2009-09-10 17:56:50

+0

Koen的權利,最簡單的方法是使用URL參數或cookie。只要確保您正確清理XSS和/或使用代碼映射到消息或其他東西。除此之外,使用memcache或數據存儲尋找自定義會話解決方案。 – RyanW 2009-09-11 03:22:27

相關問題