知识网2021年11月07日 00:07原创
from django.contrib.auth import logout def logout(request): request.session.flush() # 删除 session 数据和 cookie request.session.delete() # 只删除 session 数据,不删除 cookie logout(request) #删除当前会话,推荐使用这种方式 return render(request,'login.html')
# 设置数据库 session
SESSION_ENGINE = 'django.contrib.sessions.backends.db' # session存储在数据库中(默认)
# 设置缓存 session
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # session存储在内存当中,如果丢失不能找回,速度比数据库快
SESSION_CACHE_ALIAS = 'default' # 使用的缓存别名(默认内存缓存,也可以是 memcache),此处别名依赖缓存的设置
# 设置缓存、数据库 session
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' # 优先本地存储缓存中读取,读取不到再去数据库中读取
# 设置文件 session
SESSION_ENGINE = 'django.contrib.sessions.backends.file' # session存储在临时文件中
SESSION_FILE_PATH = None # 缓存文件路径,如果为 None,则使用 tempfile 模块获取一个临时地址 tempfile.gettempdir()
# 加密 cookie session
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'
request.session['login'] = 'false' # 设置 session 中的数据
request.session.get('login') # 通过 key 来获取 session 中的数据
request.session.exists(&login&) # 判断 session 的 login 在数据库中是否存在
request.session.setdefault('login', 'false') # 为 session 的 key 设置默认值 false
del request.session['login'] # 删除 session 的 key 中的数据
request.session.delete() # 删除当前会话的所有 session 数据
request.session.flush() # 删除当前的 session 数据并删除 cookie
request.session.clear_expired() # 将所有过期的 session 数据删除
request.session.session_key # 会话 session 的 key
# 获取 session(字典) 中的所有 键、值、键值对
request.session.keys() # 提取所有键
request.session.values() # 提取所有值
request.session.items() # 提取所有键值对
request.session.iterkeys() # 迭代键
request.session.itervalues() # 迭代值
request.session.iteritems() # 迭代键值对
# 设置会话 session 和 cookie 的超时时间
request.session.set_expiry(value)
# 如果 value 是个整数 n,session 会在 n 秒后失效
# 如果 value 是个 datatime 或 timedelta,session 就会在这个时间后失效
# 如果 value 是 0,用户关闭浏览器 session 就会失效
# 如果 value 是 None,session 会依赖全局 session 失效策略
SESSION_COOKIE_NAME = &sessionid& # session 的 cookie 保存在浏览器上时的 key,即:sessionid=随机字符串(默认)
SESSION_COOKIE_PATH = &/& # session 的 cookie 保存的路径(默认)
SESSION_COOKIE_DOMAIN = None # session 的 cookie 保存的域名(默认)
SESSION_COOKIE_SECURE = False # 是否用 https 传输 cookie(默认)
SESSION_COOKIE_HTTPONLY = True # 是否 session 的 cookie 只支持 http 传输(默认)
SESSION_COOKIE_AGE = 1209600 # session 的 cookie 失效日期(2 个星期)(默认)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器的时候让 session 过期(默认)
SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存 session,默认修改之后才保存(默认)
很赞哦!(3)
©芃睿知识网 版权所有 2012-2023 shsongjiang.com
版权申明:本站部分文章来自互联网,如有侵权,请联系邮箱xiajingzpy@163.com,我们会及时处理和回复!