本文实例讲述了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程序设计有所帮助。