Django框架用户注销功能实现方法分析


Posted in Python onMay 28, 2019

本文实例讲述了Django框架用户注销功能实现方法。分享给大家供大家参考,具体如下:

HttpResponse()里有个delete_cookie()方法专门用来删除cookie

我们到此来完整的实现一下:访问首页如果没有登录,就跳转到登录页面,登录成功之后再跳转回来的过程。

3个方法,index、login、logout

# coding:utf-8
from django.shortcuts import render,render_to_response
# Create your views here.
from django.http import HttpResponse
from UserClass import UserLogin
def index(request):
  msg = {'username':'guest'}
  if request.COOKIES.get('userlogin_username') != None :
    msg['username'] = request.COOKIES.get('userlogin_username')
  myReponse = render_to_response("index.html",msg)
  return myReponse
def login(request):
  msg = {'result': ''}
  if request.method == 'POST':
    getUserName = request.POST.get('username')
    getPwd = request.POST.get('pwd')
    # 实例化UserLogin类
    loginObj = UserLogin(getUserName,getPwd)
    if loginObj.isLogin():
      myReponse = HttpResponse("<script>self.location='/index'</script>")
      myReponse.set_cookie('userlogin_username',getUserName,3600)
      return myReponse
    else:
      msg['result'] = '用户名或密码错误'
  myReponse = render_to_response("login.html", msg)
  return myReponse
# 用户注销
def logout(request):
  r = HttpResponse()
  r.delete_cookie('userlogin_username')
  r.write("<script>self.location='/index'</script>")
  return r

首页模板index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>首页</title>
</head>
<body>
  <h2>这是首页,当前登录用户是:{{ username }}</h2>
  {% ifequal username "guest" %}
  <p><a href="/login" rel="external nofollow" >登录</a></p>
  {% else %}
  <p><a href="/logout" rel="external nofollow" >安装退出</a></p>
  {% endifequal %}
</body>
</html>

其中用到了Django的模板语法

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
Python httplib模块使用实例
Apr 11 Python
Python实现的手机号归属地相关信息查询功能示例
Jun 08 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 Python
Python基于smtplib模块发送邮件代码实例
May 29 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
Oct 12 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 Python
Django框架首页和登录页分离操作示例
May 28 #Python
Django框架封装外部函数示例
May 28 #Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 #Python
python利用多种方式来统计词频(单词个数)
May 27 #Python
numpy中的ndarray方法和属性详解
May 27 #Python
numpy.linspace函数具体使用详解
May 27 #Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 #Python
You might like
PHP 数组遍历顺序理解
2009/09/09 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
php探针不显示内存解决方法
2019/09/17 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
教你用十行node.js代码读取docx的文本
2017/03/08 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
JavaScript引用类型Function实例详解
2018/08/09 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
浅述python中深浅拷贝原理
2018/09/18 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
python实现的自动发送消息功能详解
2019/08/15 Python
centos7之Python3.74安装教程
2019/08/15 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
高三霸气励志标语
2014/06/24 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
详解Java实践之适配器模式
2021/06/18 Java/Android