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 判断自定义对象类型
Mar 21 Python
Python全局变量用法实例分析
Jul 19 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
BP神经网络原理及Python实现代码
Dec 18 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
对Python3中dict.keys()转换成list类型的方法详解
Feb 03 Python
numpy中的ndarray方法和属性详解
May 27 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
python 追踪except信息方式
Apr 25 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
Python 实现国产SM3加密算法的示例代码
Sep 21 Python
Python基于callable函数检测对象是否可被调用
Oct 16 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中大括号作用介绍
2012/03/22 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
python word转pdf代码实例
2019/08/16 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
explicit和implicit的含义
2012/11/15 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
技校毕业生的自我评价
2013/12/27 职场文书
客户表扬信范文
2014/01/10 职场文书
一个大学生十年的职业规划
2014/01/17 职场文书
大课间活动制度
2014/01/18 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
解决Pytorch中关于model.eval的问题
2021/05/22 Python
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS