1. 退出登录功能
1.1 概述
这里,就需要完成两步操作,先删除所有的cookie,然后跳转视图
1.2 代码展示
views
# netshop\userapp\views.py
from django.shortcuts import render,HttpResponse,redirect
from django.http import JsonResponse
from django.views import View
from userapp.models import *
import jsonpickle
from utils.code import gene_text
# 退出登录
def loginout(request):
"""
删除session数据:
删除当前user对应得session
del request.session['user']
删除所有的session中数据(不清空数据库,只是删除cookie中的sessionid)
request.session.clear()
清空数据库中的session(选择这一种)
request.session.flush()
"""
# 删除session对象以及数据库中的数据
request.session.flush()
# 返回响应
return JsonResponse({'loginout':True})
urls
# netshop\userapp\urls.py
from django.contrib import admin
from django.urls import path,include
from userapp import views
urlpatterns = [
path('register/',views.Register.as_view()),
path('center/',views.userCenter),
path('login/',views.LoginView.as_view()),
path('loadCode/',views.loadCode),
path('checkCode/',views.checkCode),
path('loginout/',views.loginout),
]
templates
{% extends 'base.html' %}
{% block title %}用户中心{% endblock %}
{% load static %}
{% block main %}
{% csrf_token %}
<div class="Bott">
<div class="wrapper clearfix" style="margin: 0 auto">
<div class="zuo fl" style="margin-left: 100px">
<h3>
<a href="http://127.0.0.1:8000/"><img src="{% static 'images/tx.png' %}"></a>
<p class="clearfix"><span class="fl">[{{userInfo.uname}}]</span><span class="fr logout">[退出登录]</span></p>
</h3>
<div>
<ul>
<li><a href="http://127.0.0.1:8000/user/usercenter/#">我的订单</a></li>
</ul>
<ul>
<li><a href="http://127.0.0.1:8000/user/address/">地址管理</a></li>
</ul>
<ul>
<li><a href="http://127.0.0.1:8000/">回到首页</a></li>
</ul>
</div>
</div>
<div class="you fl">
<div class="tx clearfix">
<div class="fl clearfix">
<a href="http://127.0.0.1:8000/user/usercenter/#" class="fl"><img src="{% static 'images/tx.png' %}"></a>
<p class="fl"><span>六六六</span><a href="http://127.0.0.1:8000/user/usercenter/#">修改个人信息></a></p>
</div>
<div class="fr">绑定邮箱:12****4@**.com</div>
</div>
<div class="bott">
<div class="clearfix">
<a href="http://127.0.0.1:8000/user/usercenter/#" class="fl"><img src="{% static 'images/gxin1.jpg' %}"></a>
<p class="fl"><span>待支付的订单:<strong>0</strong></span>
<a href="http://127.0.0.1:8000/user/usercenter/#">查看待支付订单></a>
</p>
</div>
<div class="clearfix">
<a href="http://127.0.0.1:8000/user/usercenter/#" class="fl"><img src="{% static 'images/gxin2.jpg' %}"></a>
<p class="fl"><span>待收货的订单:<strong>0</strong></span>
<a href="http://127.0.0.1:8000/user/usercenter/#">查看待收货订单></a>
</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block footerjs %}
<script>
$('.logout').click(function () {
$.ajax({
type: 'post',
url: '/userapp/loginout/',
data: 'csrfmiddlewaretoken=' + $('input[name="csrfmiddlewaretoken"]').val(),
success: function (data) {
window.location = '/userapp/login/'
}
})
})
</script>
{% endblock %}