博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
状态保持login()和状态清除logout()
阅读量:5138 次
发布时间:2019-06-13

本文共 1103 字,大约阅读时间需要 3 分钟。

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

  • 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'))

查看状态保持结果

1552472-20190716173508336-1670258223.png

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

  • logout( ) 位置

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

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

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

转载于:https://www.cnblogs.com/oklizz/p/11196331.html

你可能感兴趣的文章
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>