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 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
python分布式环境下的限流器的示例
Oct 26 Python
浅析python参数的知识点
Dec 10 Python
python开发游戏的前期准备
May 05 Python
Python中的引用知识点总结
May 20 Python
Python中zip()函数的简单用法举例
Sep 02 Python
Python命令行click参数用法解析
Dec 19 Python
Python tkinter和exe打包的方法
Feb 05 Python
Python实现分数序列求和
Feb 25 Python
Python中的With语句的使用及原理
Jul 29 Python
python3中编码获取网页的实例方法
Nov 16 Python
浅谈pytorch中的dropout的概率p
May 27 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 基本语法格式
2009/12/15 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
Vue render深入开发讲解
2018/04/13 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
python处理PHP数组文本文件实例
2014/09/18 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
分享6个隐藏的python功能
2017/12/07 Python
python3 线性回归验证方法
2019/07/09 Python
Numpy 多维数据数组的实现
2020/06/18 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
ASP.NET Core中的配置详解
2021/02/05 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
工程班组长岗位职责
2013/12/30 职场文书
青蓝工程实施方案
2014/03/27 职场文书
检讨书范文300字
2015/01/28 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js