学一点记一点
刚刚进来的时候突然发现,博客园的主页在缩小的时候会发生一些挤压,有点意思
今天刚看了session,感觉之前太迷茫,把问题想得过于复杂了。
我这个是建立在有登录和注册的功能上的演示。
首先,我们要去setting里面确定session在不在
找到上述字段中含有session的就好了
然后,去登录的那个views里,找到登录成功跳转的上一个字段,加入如下代码
request.session['user'] = request.POST.get('user')
我这个是在session里添加一个user,然后值是由我从前端传来的账号信息。
同时也可以在注册里去添加,可以对应注册成功后直接登录。
登录成功后,右键页面,查看元素,然后找到存储里的cookie。如下
会发现多了一个sessionid,然后我写了一个message函数,能用于返回session里的user,这样不管你跳转到哪个页面只要网session里去取出这个值就好了。就像这样
context['user'] = request.session.get('user')
当然,还可以设定判断是否登录,
if 'user' not in request.session: return render(request,'login/index.html')
我之前在session加了一个key是user,所以如果我找不到,那么就是没有登录啦,就会让他去登录页面。
登出就比较简单,只要清掉session就好了
def loginout(request): request.session.flush() return render(request,'login/index.html')
flush是指清掉所有存在session里的值,可以去cookie看看是不是消失了。
当然还可以设置session保存时间什么的