django之session配置
session应用示例
1 from django.shortcuts import render 2 from django.shortcuts import HttpResponse 3 from django.shortcuts import redirect 4 5 # Create your views here. 6 user = "a" 7 pwd = "a" 8 def login(request): 9 if request.method == "GET": 10 return render(request,"login.html") 11 elif request.method == "POST": 12 u = request.POST.get("user") 13 p = request.POST.get("password") 14 if u == user and p ==pwd: 15 #session中设置值 16 request.session["username"] = u 17 request.session["is_login"] = True 18 if request.POST.get("rmb",None) == "1": 19 #设置超时时间 20 request.session.set_expiry(10) 21 return redirect("/index") 22 else: 23 return render(request,"login.html") 24 def index(request): 25 #session中获取值 26 if request.session.get("is_login",None): 27 current_user = request.session["username"] 28 return render(request,"index.html",{"current_user":current_user}) 29 else: 30 return redirect("/login") 31 def logout(request): 32 #注销 33 request.session.clear() 34 return redirect("/login")
settings文件内配置
Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中。
a. 配置 settings.py
SESSION_ENGINE
=
'django.contrib.sessions.backends.db'
# 引擎(默认)
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,默认修改之后才保存(默认)
详细配置 请访问: http://www.cnblogs.com/wupeiqi/articles/5246483.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义