Flask Sessions
与Cookie类似,会话数据存储在客户端上。会话是客户端登录服务器和注销服务器的时间间隔。需要在此会话中保留的数据存储在客户端浏览器中。
每个客户端会话都被分配一个 会话ID 。会话数据存储在cookie之上,并由服务器进行加密签名。为了进行加密,Flask应用程序需要一个定义好的 SECRET_KEY 。
会话对象也是一个字典对象,包含会话变量和关联值的键值对。
例如,要设置一个 ‘username’ 会话变量,使用以下语句:
使用 pop() 方法释放一个会话变量。
下面的代码是 Flask 中会话工作的简单示例。URL ‘/’ 直接提示用户登录,因为会话变量 ‘username’ 没有设置。
当用户浏览到 ‚/login‚ 时,login() 视图函数会打开一个登录表单,因为它是通过GET方法调用的。
一个表单被提交到 ‚/login‚ ,现在会设置会话变量。应用程序被重定向到 ‚/‚ 。这次会话变量 ‚username‚ 被找到。
该应用程序还包含一个 logout() 视图函数,它弹出 ‚username‚ 会话变量。因此, ‚/‚ URL再次显示开放页面。
运行应用程序并访问主页。(确保应用程序设置 secret_key )
输出结果将如下所示。点击链接 “点击此处进行登录” 。
该链接将指向另一个屏幕。输入”admin”。
屏幕将显示以下消息, ‘作为管理员登录’ 。