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标准库os.path包、glob包使用实例
Nov 25 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
Python pickle模块用法实例分析
May 27 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
python的常见矩阵运算(小结)
Aug 07 Python
如何使用python传入不确定个数参数
Feb 18 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
Python OpenCV形态学运算示例详解
Apr 07 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
vue-router源码之history类的浅析
2019/05/21 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
食堂个人先进事迹
2014/01/22 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
投资入股合作协议书
2014/10/28 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
学生犯错保证书
2015/05/09 职场文书
详解Python牛顿插值法
2021/05/11 Python