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中的XML库4Suite Server的介绍
Apr 14 Python
在Python中使用列表生成式的教程
Apr 27 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
python实现画循环圆
Nov 23 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 Python
Python3 字典dictionary入门基础附实例
Feb 10 Python
Django操作session 的方法
Mar 09 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
解决numpy数组互换两行及赋值的问题
Apr 17 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+oracle 分页类
2006/10/09 PHP
php计算年龄精准到年月日
2015/11/17 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
Python中的作用域规则详解
2015/01/30 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
通过代码实例了解Python sys模块
2020/09/14 Python
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
C语言笔试题回忆
2015/04/02 面试题
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
企业文化理念标语
2014/06/10 职场文书
建筑工地宣传标语
2014/06/18 职场文书
安全保证书怎么写
2015/02/28 职场文书
应聘教师自荐信
2015/03/26 职场文书
投诉书格式范本
2015/07/02 职场文书
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
Python超详细分步解析随机漫步
2022/03/17 Python