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使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
django表单实现下拉框的示例讲解
May 29 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
Jul 11 Python
python读取TXT每行,并存到LIST中的方法
Oct 26 Python
python 爬取学信网登录页面的例子
Aug 13 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
VSCode配合pipenv搞定虚拟环境的实现方法
May 17 Python
python 实现压缩和解压缩的示例
Sep 22 Python
Python读写yaml文件
Mar 20 Python
Python中的socket网络模块介绍
Jul 23 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使用memcache存储session的详解
2013/06/25 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
js导出txt示例代码
2014/01/14 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
python机器学习之神经网络实现
2018/10/13 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
如何通过python计算圆周率PI
2020/11/11 Python
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
专科应届生求职信
2013/11/24 职场文书
安全生产检查通报
2014/01/29 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
工会趣味活动方案
2014/08/18 职场文书
学生评语集锦
2015/01/04 职场文书
2016高考感言
2015/08/01 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python