25.Django大型电商项目之退出登录的操作

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/#">修改个人信息&gt;</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/#">查看待支付订单&gt;</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/#">查看待收货订单&gt;</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 %}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想成为数据分析师的开发工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值