Django Session

2024 年 8 月 29 日 | 阅读 2 分钟

会话是一种在与 Web 应用程序交互期间,在服务器端存储信息的机制。

在 Django 中,默认情况下会话存储在数据库中,也允许基于文件和基于缓存的会话。它通过中间件实现,可以通过以下代码启用。

django.contrib.sessions.middleware.SessionMiddleware 放入 settings.py 文件的 MIDDLEWARE 中,并将 django.contrib.sessions 放入 INSTALLED_APPS 中。

要在视图中设置和获取会话,我们可以使用 request.session,并且可以多次设置。

class backends.base.SessionBase 是所有会话对象的基类。它包含以下标准方法。

方法描述
__getitem__(key)它用于获取会话值。
__setitem__(key, value)它用于设置会话值。
__delitem__(key)它用于删除会话对象。
__contains__(key)它检查容器是否包含特定的会话对象。
get(key, default=None)它用于获取指定键的会话值。

让我们看一个例子,我们将在其中设置和获取会话值。在 views.py 文件中定义了两个函数。

Django 会话示例

第一个函数用于设置,第二个函数用于获取会话值。

//views.py

URL 映射,用于调用这两个函数。

// urls.py

运行服务器

并使用 localhost:8000/ssession 设置会话。

django-session

会话已设置,要检查它,请使用 localhost:8000/gsession

django-session 1
下一主题Django Cookie