1. logout()方法介绍
-
退出登录:
- 回顾登录:将通过认证的用户的唯一标识信息,写入到当前session会话中
- 退出登录:正好和登录相反(清理session会话信息)
-
logout()方法:
- Django用户认证系统提供了
logout()
方法 - 封装了清理session的操作,帮助我们快速实现登出一个用户
- Django用户认证系统提供了
-
logout()位置:
django.contrib.auth.__init__.py
文件中
logout(request)
2. logout()方法使用
from django.contrib.auth import logout
class LogoutView(View):
def get(self,request):
# 清理session
logout(request)
# 退出登录,重定向到登录页
response = redirect(reverse('home:index'))
# 退出登录时清除cookie中的登录状态
response.delete_cookie('is_login')
return response
提示:
- 由于首页中登录状态是从cookie中读取的。
- 所以退出登录时,需要将cookie中登录状态清除。
3.路由设置
4.实现退出登录
<div class="dropdown-menu" aria-labelledby="navbarDropdown" style="display: block" v-show="show_menu">
<a class="dropdown-item" href="../static/write_blog.html">写文章</a>
<a class="dropdown-item" href='../static/center.html'>个人信息</a>
<a class="dropdown-item" href='{% url 'users:logout' %}'>退出登录</a>
</div>
效果展示:
退出登录前:
退出登录后: