zoukankan      html  css  js  c++  java
  • 状态保持login()和状态清除logout()

    如果需求是注册成功后即表示用户认证通过,那么此时可以在注册成功后实现状态保持

    • login( ) 方法介绍:

    状态保持:
    将通过认证的用户的唯一标识信息(比如:用户ID)写入到当前 session 会话中

    • login( ) 方法:

    Django 用户认证系统提供了 login() 方法
    封装了写入 session 的操作,帮助我们快速实现状态保持

    • login( ) 位置:

    django.contrib.auth.init.py 文件中
    login(request, user, backend=None)

    login( ) 方法使用

    #保存注册数据
    try:
        user = User.objects.create_user(username=username, password=password, mobile=mobile)
    except DatabaseError:
        return render(request, 'register.html', {'register_errmsg': '注册失败'})
    
    #实现状态保持
    login(request, user)
    
    #响应注册结果
    return redirect(reverse('contents:index'))
    

    查看状态保持结果

    logout()清除session,实现退出登录

    • logout( ) 位置

    django.contrib.auth.__init__.py 文件中

    • logout( ) 方法使用
    # 导入: 
    from django.contrib.auth import logout
    
    class LogoutView(View):
        """退出登录"""
    
        def get(self, request):
            """实现退出登录逻辑"""
    
            # 清理 session
            logout(request)
    
            # 退出登录,重定向到登录页
            response = redirect(reverse('contents:index'))
    
            # 退出登录时清除 cookie 中的 username
            response.delete_cookie('username')
    
            # 返回响应
            return response
    

    由于首页中用户名是从 cookie 中读取的。所以退出登录时,需要将 cookie 中用户名清除

  • 相关阅读:
    eclipse使用svn
    yum安装mysql
    spring中aop使用
    mybatis定义拦截器
    横扫页面的三大标签
    springmvc日期格式化
    springmvc笔记
    springboot跳转jsp页面
    常用网址
    CentOS Android Studio桌面图标的创建
  • 原文地址:https://www.cnblogs.com/oklizz/p/11196331.html
Copyright © 2011-2022 走看看