Flask Session

17 Mar 2025 | 4 分钟阅读

Session 的概念与 Cookie 非常相似。但是,Session 数据存储在服务器上。

Session 可以定义为用户登录服务器到注销的持续时间。用于跟踪此 Session 的数据存储在服务器上的临时目录中。

Session 数据存储在 Cookie 的顶部,并由服务器进行加密签名。

在 Flask 中,session 对象用于跟踪 Session 数据,它是一个字典对象,包含 Session 变量及其关联值的键值对。

以下语法用于在服务器上将 Session 变量设置为特定值。

要删除 Session 变量,请在 session 对象上使用 pop() 方法,并指定要删除的变量。

让我们看一个简单的例子来理解如何设置和获取 Session 变量。

示例

getsession.html

Flask Session
Flask Session

使用 Session 的 Flask 登录应用程序

在这里,我们将创建一个 Flask 登录应用程序,其中向用户显示以下主页。

Flask Session

如果我们直接点击 view_profile 而不登录,它将显示一些警告,因为我们不能直接访问个人资料而未登录。

Flask Session

如果我们访问登录页面,应用程序将向用户显示登录页面,提示用户输入电子邮件 ID 和密码。在这里,我们的应用程序会将用户重定向到成功页面,适用于任何随机有效的电子邮件 ID 和密码,如下面的图像所示。

Flask Session

提交后,用户将被重定向到 success.html,如下面的图像所示。

Flask Session

现在,如果我们访问个人资料页面,它将显示带有 Session 名称的消息,因为 Session 变量 'email' 已设置为其值。

Flask Session

由于我们已经登录到应用程序,因此无需再次登录即可查看用户个人资料。要进行测试,请返回主页并单击 view_profile 链接,我们将获得与上图所示相同的结果。

该应用程序方便我们注销 Session。为此,请返回主页并单击注销按钮。它将销毁为此特定服务器设置的所有 Session 变量。

Flask Session

现在,用户必须再次使用电子邮件和密码登录才能在应用程序中查看个人资料。

这是一个使用 Python Flask 构建的简单登录应用程序,实现了 Session。在这里,Flask 脚本 login.py 充当主控制器,其中包含与 URL 映射(/, /login, /success, /logout, /profile)分别关联的视图函数(home(), login(), success(), logout(), profile())。

login.py

home.html

login.html

success.html

logout.html


下一个主题Flask 文件上传





Youtube 关注我们的Youtube频道获取视频:立即加入

反馈


帮助他人,请分享

facebooktwitterpinterest

学习最新教程


准备


热门技术


B.Tech / MCA