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获取文件ssdeep值的方法
Oct 05 Python
python求列表交集的方法汇总
Nov 10 Python
Python创建模块及模块导入的方法
May 27 Python
开始着手第一个Django项目
Jul 15 Python
浅谈Python NLP入门教程
Dec 25 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
python面试题之列表声明实例分析
Jul 08 Python
python基础教程之while循环
Aug 14 Python
python框架flask表单实现详解
Nov 04 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
python 实现全球IP归属地查询工具
Dec 18 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采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
js查错流程归纳
2012/05/04 Javascript
javascript打印输出json实例
2013/11/11 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
打包发布Python模块的方法详解
2016/09/18 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
python getopt详解及简单实例
2016/12/30 Python
Python中enumerate函数代码解析
2017/10/31 Python
Linux下python3.7.0安装教程
2018/07/30 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Python生成词云的实现代码
2020/01/14 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python读取表格类型文件代码实例
2020/02/17 Python
Python作用域与名字空间原理详解
2020/03/21 Python
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
别名指示符是什么
2012/10/08 面试题
我的生日感言
2015/08/03 职场文书
公司食堂管理制度
2015/08/05 职场文书
谢师宴学生答谢词
2015/09/30 职场文书