1. 开启会话:
在 settings.py 文件中,确保 'django.contrib.sessions.middleware.SessionMiddleware' 在 MIDDLEWARE 中被包含。这是用于处理会话的中间件。
2. 会话引擎配置:
在 settings.py 中,你可以选择会话引擎。默认情况下,Django 使用数据库引擎,但你也可以选择使用缓存等其他引擎。
# settings.py
# 默认使用数据库引擎
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
# 或者使用缓存引擎
# SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
# 缓存引擎需要指定缓存别名
# SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
# CACHES = {
# 'default': {
# 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
# 'LOCATION': '/var/tmp/django_cache',
# }
# }
3. 会话配置:
你可以在 settings.py 中设置一些有关会话的参数,例如会话过期时间、会话 Cookie 的名字等。
# settings.py
# 设置会话过期时间(以秒为单位)
# 默认为1209600秒(两周)
# SESSION_COOKIE_AGE = 1209600
# 设置会话 Cookie 的名字
# 默认为'sessionid'
# SESSION_COOKIE_NAME = 'my_session_cookie'
4. 使用会话:
在你的视图中,你可以通过 request 对象来访问和修改会话数据。例如,存储一个值到会话中:
# views.py
def set_session(request):
request.session['my_variable'] = 'Hello, Django!'
获取会话中的值:
# views.py
def get_session(request):
my_variable = request.session.get('my_variable', 'Default Value')
注意:在 Django 4.0 中,request.session 实际上是一个 django.contrib.sessions.backends.base.SessionBase 对象,它提供了对会话数据的字典式访问。
5. 清除会话数据:
要清除会话数据,可以使用 clear() 方法:
# views.py
def clear_session(request):
request.session.clear()
或者删除特定的键:
# views.py
def delete_session_variable(request):
del request.session['my_variable']
这些是使用 Django 4.0 中会话的基本步骤。确保在 Django 官方文档中查找有关会话系统的更多详细信息和选项。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7228/Django