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爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
Python实现矩阵加法和乘法的方法分析
Dec 19 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 Python
解决DataFrame排序sort的问题
Jun 07 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
Python离线安装openpyxl模块的步骤
Mar 30 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
PHP使用函数用法详解
2018/09/30 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python简单读取json文件功能示例
2017/11/30 Python
python在非root权限下的安装方法
2018/01/23 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python实现括号匹配的思路详解
2018/08/23 Python
python实现图片筛选程序
2018/10/24 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python3访问字典里的值实例方法
2020/11/18 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
化学相关工作求职信
2013/10/02 职场文书
会计专业毕业生自我鉴定
2013/10/29 职场文书
护理专业学生职业生涯规划范文
2014/03/11 职场文书
美容院店长岗位职责
2014/04/08 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
民主评议党员总结
2014/10/20 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
python常见的占位符总结及用法
2021/07/02 Python
Python中rapidjson参数校验实现
2021/07/25 Python