2009-09-10 67 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

相关问题