1 from django.shortcuts import render 2 from django.shortcuts import HttpResponse 3 from django.shortcuts import redirect 4 5 def login(request): 6 if request.method == "GET": 7 return render(request,"login.html") 8 elif request.method == "POST": 9 u = request.POST.get("user") 10 p = request.POST.get("password") 11 if u == user and p ==pwd: 12 #session中设置值 13 request.session["username"] = u 14 request.session["is_login"] = True 15 if request.POST.get("rmb",None) == "1": 16 #设置超时时间 17 request.session.set_expiry(10) 18 return redirect("/index") 19 else: 20 return render(request,"login.html") 21 def index(request): 22 #session中获取值 23 if request.session.get("is_login",None): 24 current_user = request.session["username"] 25 return render(request,"index.html",{"current_user":current_user}) 26 else: 27 return redirect("/login") 28 def logout(request): 29 #注销 30 request.session.clear() 31 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