Python web模版Django-12 使用session

第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数据也已存入到服务器数据库:



猜你喜欢

转载自blog.csdn.net/pansc2004/article/details/80493084