当前位置:主页 > python教程 > Django中使用session保持用户登陆连接的例子

实例详解Django中使用session保持用户登陆连接

发布:2020-02-29 20:42:16 65


为网友们分享了Python相关的编程文章,网友温甜恬根据主题投稿了本篇教程内容,涉及到Django、session、Django中使用session保持用户登陆连接的例子相关内容,已被864网友关注,内容中涉及的知识点可以在下方直接下载获取。

Django中使用session保持用户登陆连接的例子

使用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保持用户登陆连接的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • Pycharm搭建一个Django项目的方法步骤

    发布:2023-04-04

    本文主要介绍了Pycharm搭建一个Django项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Django drf使用Django自带的用户系统的注册功能

    发布:2023-04-11

    本文主要介绍了Django drf使用Django自带的用户系统的注册功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • 如何运用sessionStorage解决vuex页面刷新后数据被清除的问题

    发布:2020-01-15

    localStorage没有时间期限,除非将它移除,sessionStorage即会话,当浏览器关闭时会话结束,有时间期限,具有自行百度。本文使用的是sessionStorage解决vuex在页面刷新后数据被清除的问题,需要的朋友


  • 带你了解session和cookie作用原理区别和用法

    发布:2022-06-19

    给网友们整理关于javascript的教程,这篇文章主要介绍了session和cookie作用原理,区别和用法,以及使用过程中的优缺点,通过列举区别和原理,使读者更能理解两者之间的关系,需要的朋友可以参考下


  • Django缓存之配置Redis

    发布:2020-02-29

    这篇文章主要介绍了Django 缓存配置Redis使用详解,缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有用户来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内


  • 分享Django ManyToManyField 跨越中间表查询方法

    发布:2020-02-17

    今天小编就为大家分享一篇Django ManyToManyField 跨越中间表查询的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Django REST Framework序列化外键获取外键的值实例

    发布:2020-07-14

    今天小编就为大家分享一篇Django REST Framework序列化外键获取外键的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • django创建最简单HTML页面跳转方法

    发布:2022-12-02

    给网友们整理关于django的教程,今天小编就为大家分享一篇django创建最简单HTML页面跳转方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


网友讨论