Django中使用session保持用户登陆连接的例子


Posted in Python onAugust 06, 2019

使用session保持用户登陆连接

在 view 中 login() 视图函数里增加如下语句

不允许重复登录语句

if request.session.get('is_login',None):
   return HttpResponseRedirect(reverse('index'))

一旦用户名和密码输入正确,就往 session 字典内写入用户状态和数据

request.session['is_login'] = True
request.session['user_id'] = db_user.id
request.session['user_name'] = db_user.name

​ 对于 logout() 方法进行编写。

def logout(request):
  if not request.session.get('is_login', None):
    # 如果本来就未登录,也就没有登出一说
    return redirect("/index/")
  request.session.flush()
  # 或者使用下面的方法
  # del request.session['is_login']
  # del request.session['user_id']
  # del request.session['user_name']
  return redirect("/index/")

使用 flush() 方法清除数据比较安全,但是不能保存 session 中的私货

对于 HTML 文件进行改写

{% if request.session.is_login %}
   <li><a href="#" rel="external nofollow" >当前在线:{{ request.session.user_name }}</a></li>
   <li><a href="/logout/" rel="external nofollow" >登出</a></li>
 {% else %}
   <li><a href="/login/" rel="external nofollow" >登录</a></li>
   <li><a href="/register/" rel="external nofollow" >注册</a></li>
{% endif %}

以上这篇Django中使用session保持用户登陆连接的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简洁的十分钟Python入门教程
Apr 03 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
python最长回文串算法
Jun 04 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
详解python中index()、find()方法
Aug 29 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
python实现图片上添加图片
Nov 26 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
基于Python实现股票收益率分析
Apr 02 Python
Python中的self用法详解
Aug 06 #Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 #Python
Django 响应数据response的返回源码详解
Aug 06 #Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
Aug 05 #Python
Django中提供的6种缓存方式详解
Aug 05 #Python
python修改字典键(key)的方法
Aug 05 #Python
python中使用while循环的实例
Aug 05 #Python
You might like
2020最新CPU的性能排名
2020/04/02 数码科技
很好用的PHP数据库类
2009/05/27 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
PHP比你想象的好得多
2014/11/27 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Python sep参数使用方法详解
2020/02/12 Python
Python json读写方式和字典相互转化
2020/04/18 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
网络维护管理员的自我评价分享
2013/11/11 职场文书
酒吧总经理岗位职责
2013/12/10 职场文书
大学旷课检讨书
2014/01/28 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
辞职离别感言
2015/08/04 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
Python Matplotlib绘制动画的代码详解
2022/05/30 Python