本文实例讲述了Django框架用户注销功能实现方法。分享给大家供大家参考,具体如下:
HttpResponse()
里有个delete_cookie()
方法专门用来删除cookie
我们到此来完整的实现一下:访问首页如果没有登录,就跳转到登录页面,登录成功之后再跳转回来的过程。
3个方法,index、login、logout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<!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程序设计有所帮助。
原文链接:https://blog.csdn.net/github_26672553/article/details/52497045