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自动重试HTTP连接装饰器
Apr 28 Python
Python的Django框架中模板碎片缓存简介
Jul 24 Python
python使用super()出现错误解决办法
Aug 14 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
基于matplotlib xticks用法详解
Apr 16 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
Jun 01 Python
python 图像插值 最近邻、双线性、双三次实例
Jul 05 Python
用python-webdriver实现自动填表的示例代码
Jan 13 Python
详解Python中的Lock和Rlock
Jan 26 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 错误处理经验分享
2011/10/11 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
python与C互相调用的方法详解
2017/07/14 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
python中的列表与元组的使用
2019/08/08 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
车间班长岗位职责
2013/11/30 职场文书
事务机电主管工作职责
2014/02/25 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL