在WebApp2 Python中使用会话

在WebApp2 Python中使用会话,python,session,webapp2,Python,Session,Webapp2,从webapp2文档中我得到了以下代码(不确定是否正确): 我只是尝试在用户登录后创建一个基本的登录会话。但我已经研究了很长一段时间,运气不好 我的想法是: self.session_store = sessions.get_store(request=self.request) 获取一个会话存储,我将在其中存储用户所需的数据 try: webapp2.RequestHandler.dispatch(self) finally: self

webapp2文档中
我得到了以下代码(不确定是否正确):

我只是尝试在用户登录后创建一个基本的登录会话。但我已经研究了很长一段时间,运气不好

我的想法是:

    self.session_store = sessions.get_store(request=self.request)
获取一个会话存储,我将在其中存储用户所需的数据

    try:
        webapp2.RequestHandler.dispatch(self)
    finally:
        self.session_store.save_sessions(self.response)
更新会话存储?这里不完全确定

@webapp2.cached_property
def session(self):
    return self.session_store.get_session()
返回会话以便可以使用其中的数据

我不知道的:

    self.session_store = sessions.get_store(request=self.request)
  • get\u store()
    函数中的
    request=self.request
    是什么?存储不能是存储会话的服务器数据库中的常规存储吗
  • 什么是
    try,finally:
    位。我很困惑
  • 我们是否需要明确地担心会话ID。如何使用会话ID映射到数据库中的用户信息。每个用户都将具有相应的唯一会话ID
如果有很多问题,我很抱歉,但我是个新手,迷路了。我看了一些PHP会话教程,但没有取得多大进展

谢谢你提前回复

  • 它只是将当前值
    self.request
    作为get\u store的“request”关键字参数传递。我不知道问题的第二部分是什么意思

  • 这只是确保即使在try块(即在处理程序代码中)内发生异常,finally块也将始终被执行,因此会话存储将始终被保存

  • 您不应该与会话ID有任何关系;它们完全不透明。它们只与用户存储在cookie中的ID相关。但与用户的关系恰恰相反;正如我在上一个问题上所说的,当用户登录时,您将在会话中存储用户记录的db ID


  • 问题1和问题2实际上都是标准Python;通过语言教程,您可能会受益匪浅。

    谢谢您的帮助。。。我现在一切都好了。我将进一步学习该语言,它似乎是在GAE上开始web开发的最佳选择。