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 相关文章推荐
pytyon 带有重复的全排列
Aug 13 Python
Python实现的Kmeans++算法实例
Apr 26 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
python中list循环语句用法实例
Nov 10 Python
python 转换 Javascript %u 字符串为python unicode的代码
Sep 06 Python
利用Python破解验证码实例详解
Dec 08 Python
python正则实现计算器功能
Dec 14 Python
Django框架基础模板标签与filter使用方法详解
Jul 23 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
Python爬虫进阶之Beautiful Soup库详解
Apr 29 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+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
Python 流程控制实例代码
2009/09/25 Python
Python去除列表中重复元素的方法
2015/03/20 Python
Python解析树及树的遍历
2016/02/03 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
Python unittest单元测试框架总结
2018/09/08 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
2014年电话销售工作总结
2014/12/01 职场文书
乱世佳人观后感
2015/06/08 职场文书
捐款仪式主持词
2015/07/04 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书