django_session 记住登录状态案例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29726359/article/details/86544521

django_session 记住登录状态案例

要求

  • 记住用户的登陆状态

代码示例

  • login

    def login(request):
        '''显示登陆页面'''
        # 获取cookie username
        if 'username' in request.COOKIES:
            # 获取记住的用户名
            username = request.COOKIES['username']
        else:
            username = ''
        return render(request,'bookstore/login.html',{'username': username})
    

  • login_check

    def login_check(request):
        username = request.POST.get("username");
        password = request.POST.get("password");
        remember = request.POST.get('remember');
    
        if username == 'smart' and password =='123':
            # 用户名密码正确 , 跳转到登陆成功页面
            response = redirect("/index")
            #判断是否记住用户名
            if remember =="on":
                #设置cookie username *过期时间为1周
               response.set_cookie('username',username,max_age=7*24*3600)
               request.session['islogin'] = True
            return response
        else:
             return redirect('/login')
    
  • hello

    def hello(request):
        # 1.查询所有图书信息
        #books=BookInfo.objects.all()
        if request.session.has_key('islogin'):
           return HttpResponse("此页面已经登录")
        else:
           username= request.COOKIES['username']
           return render(request,"bookstore/index.html",{"username":username});
    

  • 地址配置

     url(r'^index$',views.hello),
     url(r'^login$',views.login),
     url(r'^login_check$',views.login_check),
    

页面效果

  • 登陆页面

    在这里插入图片描述

  • 点击登录
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29726359/article/details/86544521
今日推荐