我在一个页面上使用Django+Appengine,该页面既有获取页面的普通HTML请求,也有使用jQuery的AJAX请求。在正常的请求中,它可以很好地加载当前用户和会话信息。但是,对于AJAX请求,不会设置self.user,users.get\u current\u user()不会返回任何内容。
两个处理程序都在同一个域上,甚至在同一个.py文件中。使用WING IDE进行调试,两者之间的唯一区别在于,在正常请求中,webob.\u parsed\u cookies被设置为会话id,而在AJAX请求中,根本没有设置。尽管如此,它们在请求中都显示相同的会话id。\u environ.HTTP\u COOKIE。
这让我想到,由于是AJAX请求而不是HTML请求,GAE无法知道如何加载会话信息。思想?
编辑:对不起,这是我的错。我没有意识到我正在使用用户的自定义用户实现,使其更像django而不是google用户——我跳过了一个步骤,该步骤涉及手动从Cookie中获取会话id,查找与该会话id对应的活动用户,并将其设置为请求的“用户”实例变量。这就是为什么会话id在请求中,但没有设置用户对象。
-
列表项