Django 4.0 中的会话(Session)系统仍然基于之前版本的概念,但可能有一些细微的变化。以下是在 Django 4.0 中使用会话的基本信息:

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