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使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
python中numpy.zeros(np.zeros)的使用方法
Nov 07 Python
python实现音乐下载的统计
Jun 20 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
python中pytest收集用例规则与运行指定用例详解
Jun 27 Python
Python获取对象属性的几种方式小结
Mar 12 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
python各种excel写入方式的速度对比
Nov 10 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 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
一个简单的PHP&amp;MYSQL留言板源码
2020/07/19 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
javascript 拖动表格行实现代码
2011/05/05 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
几句话带你理解JS中的this、闭包、原型链
2016/09/26 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
使用SVG基本操作API的实例讲解
2017/09/14 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Python实现周期性抓取网页内容的方法
2015/11/04 Python
Python聊天室实例程序分享
2016/01/05 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python基础之变量基本用法与进阶详解
2020/01/03 Python
Python实现点云投影到平面显示
2020/01/18 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
大学生大二自我鉴定
2013/10/28 职场文书
民用住房租房协议书
2014/10/29 职场文书
2015年信访工作总结
2015/04/07 职场文书
暂停营业通知
2015/04/25 职场文书