1.django开启session
项INSTALLED_APPS列表中添加: 'django.contrib.sessions', 。。。 项MIDDLEWARE_CLASSES列表中添加: 'django.contrib.sessions.middleware.SessionMiddleware',
2.session保持位置:
数据库:SESSION_ENGINE='django.contrib.sessions.backends.db' 缓存:SESSION_ENGINE='django.contrib.sessions.backends.cache' 缓存和数据库:SESSION_ENGINE='django.contrib.sessions.backends.cached_db'
3.常用函数
request.session.set_expiry
request.session.clear
request.session.flush
request.session.get
del request.session['']
4.示例
基于数据库的操作练习
def index(request): uname = request.session.get('uname') context = {'uname':uname} return render(request,'booktest/index.html',context) # return HttpResponse('index') def login(request): return render(request,'booktest/login.html') def logout(request): # request.session.clear()#清空session的值 .数据库中的结果6cca00f4c75b0920edc712d8d2c98ce6538c14fd:{} # request.session.flush()#清空session,清空session的key和值 del request.session['uname']#清空session的值,结果493a47edfe90892d78e8e919a05905bfe5fa411f:{"_session_expiry":0} del request.session['passwd'] return redirect(reverse('booktest:index')) def login_handle(request): request.session['uname'] = request.POST.get('uname') request.session['passwd'] = request.POST.get('passwd') request.session.set_expiry(0) return redirect(reverse('booktest:index'))
结果见备注