经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
Django框架用户注销功能实现方法分析
来源:jb51  时间:2019/5/28 10:28:16  对本文有异议

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

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

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

3个方法,index、login、logout

  1. # coding:utf-8
  2. from django.shortcuts import render,render_to_response
  3. # Create your views here.
  4. from django.http import HttpResponse
  5. from UserClass import UserLogin
  6. def index(request):
  7. msg = {'username':'guest'}
  8. if request.COOKIES.get('userlogin_username') != None :
  9. msg['username'] = request.COOKIES.get('userlogin_username')
  10. myReponse = render_to_response("index.html",msg)
  11. return myReponse
  12. def login(request):
  13. msg = {'result': ''}
  14. if request.method == 'POST':
  15. getUserName = request.POST.get('username')
  16. getPwd = request.POST.get('pwd')
  17. # 实例化UserLogin类
  18. loginObj = UserLogin(getUserName,getPwd)
  19. if loginObj.isLogin():
  20. myReponse = HttpResponse("<script>self.location='/index'</script>")
  21. myReponse.set_cookie('userlogin_username',getUserName,3600)
  22. return myReponse
  23. else:
  24. msg['result'] = '用户名或密码错误'
  25. myReponse = render_to_response("login.html", msg)
  26. return myReponse
  27. # 用户注销
  28. def logout(request):
  29. r = HttpResponse()
  30. r.delete_cookie('userlogin_username')
  31. r.write("<script>self.location='/index'</script>")
  32. return r
  33.  

首页模板index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>首页</title>
  6. </head>
  7. <body>
  8. <h2>这是首页,当前登录用户是:{{ username }}</h2>
  9. {% ifequal username "guest" %}
  10. <p><a href="/login" rel="external nofollow" >登录</a></p>
  11. {% else %}
  12. <p><a href="/logout" rel="external nofollow" >安装退出</a></p>
  13. {% endifequal %}
  14. </body>
  15. </html>
  16.  

其中用到了Django的模板语法

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号