Django笔记-实现用户退出登录(logout)

Django笔记-实现用户的登出

  • Django logout()方法介绍:

    一、登录login(user,request):
    将通过认证的用户的唯一标识信息(主键id),通过哈希加密写入到当前session会话中,退出登录:正好和登录相反(清理session会话信息)

    二、登出logout()方法:
    1.Django用户认证系统提供了logout()方法
    2.封装了清理session的操作,帮助我们快速实现登出一个用户
    3.logout(request)位置:django.contrib.auth.init.py文件中
    4.logout(request)接受一个request参数,从request获取cookie中的名为sessionid的值,通过哈希解密为用户的唯一标识信息(主键id),然后通过id查询数据库中是否有该用户,然后删除redis或者数据库表中的session会话信息,并且删除cookie中sessionid这一项(通过方法request.session.flush())
    5.该函数不会有返回值,如果用户未登录,不会报错(匿名用户)

  • 测试
    1.登录查看cookies和session会话

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.编写登出视图(登出用户)

    from django.contrib.auth import login, authenticate, logout
    from django.views import View
    from django import http
    class LogoutView(View):
        def get(self, request):
            # 清理session(redis中的会话,请求对象cookie中的sessionid)-request.session.flush()
            logout(request=request)
            response = http.JsonResponse({
                'errmsg': 'ok'
            })
            # 可以删除指定cookie
            # request.session.clear()
            # response.delete_cookie('value')
            return response
    

在这里插入图片描述
在这里插入图片描述

上一篇-自定义用户登录:https://blog.csdn.net/adminwg/article/details/126185127

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值