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基础篇之初识Python必看攻略
Jun 23 Python
浅谈python字符串方法的简单使用
Jul 18 Python
使用Turtle画正螺旋线的方法
Sep 22 Python
python如何读写csv数据
Mar 21 Python
python实现多进程代码示例
Oct 31 Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 Python
如何用Python进行时间序列分解和预测
Mar 01 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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
php实现计数器方法小结
2015/01/05 PHP
php 中的closure用法详解
2017/06/12 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
javascript父子页面通讯实例详解
2015/07/17 Javascript
js实现继承的5种方式
2015/12/01 Javascript
JS中的eval 为什么加括号
2016/04/13 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
Python实现单词拼写检查
2015/04/25 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
深入浅析Python传值与传址
2018/07/10 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
python如何保存文本文件
2020/06/07 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
Python try except else使用详解
2021/01/12 Python
客服工作职责
2013/12/11 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
颐和园英文导游词
2015/01/30 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
vue3获取当前路由地址
2022/02/18 Vue.js
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP