第11篇中描述了设置和使用cookie的方法,本篇中描述设置和使用session的方法。session主要用request参数了设置和调用,步骤如下:
step1:用request.session['key'] = 'xxxxx' 设置session
step2:用request.session.get('key', 默认值)读取session
step3: 在render中设置{'user': username, 'psw': password},在event_manage.html中设置"user"和"psw"的展示,这与cookie的设置完全一致。
def login_action(request):
# request = HttpRequest(request)
username = request.POST.get('username', '')
password = request.POST.get('password', '')
if username == 'admin' and password == '123456':
request.session['user'] = username # 将session信息记录到浏览器
request.session['psw'] = password
return HttpResponseRedirect('/event_manage/')
else:
return render(request, 'index.html', {'wronglyInput': '用户名或密码输入错误!'})
def event_manage(request):
username = request.session.get('user', '') # 读取cookie
password = request.session.get('psw', '')
return render(request, "event_manage.html", {'user': username, 'psw': password})
step4:尝试运行,报如下错误
step5: 使用pyCharm菜单Tools->Run manage.py task..., 在控制台中输入 migrate,创建存放session的表django_session
使用migrate后,在Guest项目下可以看见生成的sqlite3数据库
用SQLiteStudio查看改数据库,看到django_session表已经创建好
Step5:重新运行,成功
Session数据也已存入到服务器数据库: