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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
解决Python对齐文本字符串问题
Aug 28 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
python中upper是做什么用的
Jul 20 Python
python里反向传播算法详解
Nov 22 Python
python 实现图片批量压缩的示例
Dec 18 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中static,const与define的使用区别
2013/06/18 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
koa源码中promise的解读
2018/11/13 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
JS实现的雪花飘落特效示例
2019/12/03 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
深入讲解Python中的迭代器和生成器
2015/10/26 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
django rest framework使用django-filter用法
2020/07/15 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
高校辅导员推荐信范文
2013/12/25 职场文书
保险公司年会主持词
2014/03/22 职场文书
自强之星事迹材料
2014/05/12 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
2014年销售工作总结
2014/12/01 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL