login_session.html文件

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Apollo</title><!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"crossorigin="anonymous"></script><script></script>
</head>
<body>
<div class="container"><form action="{% url 'login_session' %}" method="post">{% csrf_token %}<div class="col-md-6 col-md-offset-3"><div class="input-group"><span class="input-group-addon" id="sizing-addon2">账号</span><input type="text" class="form-control" name="usr" placeholder="Username"aria-describedby="sizing-addon2"></div><br><div class="input-group"><span class="input-group-addon" id="sizing-addon2">密码</span><input type="text" class="form-control" name="pwd" placeholder="Password"aria-describedby="sizing-addon2"></div><br><button class="btn btn-default pull-right">提交</button>{{ error }}</div></form></div>
</body>
</html>

index_session.html文件

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta ><title>Apollo</title><!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"crossorigin="anonymous"></script><script src="/static/jquery.js"></script></head>
<body><nav class="navbar navbar-inverse navbar-fixed-top"><div class="container"><a class="navbar-brand" href="javascript:void(0);">Apollo</a><ul class="nav navbar-nav"><li class="active"><a href="javascript:void(0);">主页</a></li><li><a href="javascript:void(0);">python</a></li><li><a href="javascript:void(0);">html</a></li><li><a href="javascript:void(0);">css</a></li><li><a href="javascript:void(0);">javascript</a></li></ul><form class="navbar-form navbar-left" action="javascript:void(0);"><input type="text" placeholder="请输入关键词" class="form-control"><button type="submit"><span class="glyphicon glyphicon-search"></span></button></form><a class="btn navbar-btn btn-primary btn-sm navbar-right" href="javascript:void(0);">免费下载</a><div class="navbar-right"><ul class="nav navbar-nav"><li class="navbar-text">你好 {{ usr }}</li><li><a class="navbar-link" href="{% url 'logout_session' %}">退出</a></li></ul></div></div>
</nav><div class="container"></div></body>
</html>

urls.py文件

from django.contrib import admin
from django.urls import path
from coo import views
from django.views.generic.base import RedirectViewurlpatterns = [path('admin/', admin.site.urls),path("favicon.ico", RedirectView.as_view(url='static/favicon.ico')),# session 实现path('login_session/', views.login_session, name='login_session'),path('index_session/', views.index_session, name='index_session'),path('logout_session/', views.logout_session, name='logout_session'),
]

views.py文件

from django.shortcuts import render, redirect, HttpResponse, reverse
from coo.models import UserInfo# Create your views here.# ############### SESSION的login_session页面 ###############
def login_session(request):if request.method == 'GET':return render(request, 'login_session.html')else:# 获取网页form表单传来的usrusr = request.POST.get('usr')# 获取网页form表单传来的pwdpwd = request.POST.get('pwd')# 数据库查询该用户是否存在usr_obj = UserInfo.objects.filter(usr=usr, pwd=pwd).first()print(0000000000000000000)# 信息存在,进行保存if usr_obj:# 用户认证信息存储到session文件request.session["username"] = usrrequest.session["is_active"] = True'''if request.COOKIE.get("sessionid"):random_str=request.COOKIE.get("sessionid")在django-seesion表中过滤session-key=random_str的记录进行updateelse:1 生成一个随机字符串   23423hkjsf890234sd2 向django-session表中插入记录session-key             session-data23423hkjsf890234sd      {"susername":"egon","slogin":True}3 响应set_cookie:            {"sessionid":23423hkjsf890234sd}'''# 登录成功跳转到主页index_sessionreturn redirect("/index_session/")else:print(999999999999999)# 如果不存在,进行信息提示error = 'USERNAME AND PASSWORD DO NOT MATCH'return render(request,'login_session.html',{'error':error})# ############### SESSION的index_session页面 ###############
def index_session(request):'''request.session1 request.COOKIE.get("sessionid")   :23423hkjsf890234sd2 在django-session表过滤session-key=23423hkjsf890234sd的记录3 取过滤记录的session-data反序列化成数据字典:{"susername":"egon","slogin":True}'''is_active = request.session.get("is_active")if not is_active:return redirect("/login_session/")username = request.session.get("username")return render(request, 'index_session.html', locals())# ############### SESSION的logout_session ###############
def logout_session(request):'''1 request.COOKIE.get("sessionid")   :23423hkjsf890234sd2 在django-session表过滤session-key=23423hkjsf890234sd的记录删除3 response.delete_cookie("sessionid")'''request.session.flush()return redirect("/login_session/")

转载于:https://www.cnblogs.com/apollo1616/articles/9885131.html

利用服务端session保存用户信息相关推荐

  1. 利用redis代替session保存用户 减少tomcat压力

    背景: 通常系统中用户登录之后会保存用户信息到session,查询个人当前登录用户所带信息时,直接在session中获取当前登录用户,然后通过sql  的where条件筛选. 但是如果大量用户的信息存 ...

  2. php通过session保存用户信息,如何在php中利用session与cookie保存用户的登录信息

    如何在php中利用session与cookie保存用户的登录信息 发布时间:2020-12-18 15:49:56 来源:亿速云 阅读:95 作者:Leah 如何在php中利用session与cook ...

  3. 小程序如何保存用户信息(保持登录状态)?

    小程序如何保存用户信息?如何保存用户登录状态? 提供一种实现思路,仅供参考. 第一步:启动小程序后,会静默授权,通过wx.login获取登录凭证code,再从后台换取openId,同时将session ...

  4. 登录页面设置cookie,用户登录后,创建cookie保存用户信息

    代码要求: 用户登录后,创建cookie保存用户信息 设置cookie的有效期为5分钟 在登录页循环遍历cookie数组,判断是否存在指定名称的cookie,若存在则直接跳转至欢迎页面 代码实现过程: ...

  5. http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎

    TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...

  6. 登录页跳转时保存用户信息-遇坑记

    项目中遇到的问题,重新建前端界面,遇到了这个问题. 项目中使用Angular JS + admin LTE + bootstrap3 保存用户信息,我有两种思路,一个是使用Angular JS-ser ...

  7. 模拟QQ聊天小项目收尾---界面展示服务端与客户端进行信息交互(用到的知识:io,线程,Swing界面,面向对象思想...... )

    大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正 如果你从本文学到有用的干货知识,那么请您尽量点赞,关注,评论,收藏 这两天我一直在设计这 ...

  8. 【探花交友】保存用户信息、上传用户头像、用户信息管理

    文章目录 1.3.保存用户信息 1.4.上传用户头像 2.用户信息管理 2.1.查询用户资料 2.2.更新用户资料 1.3.保存用户信息 1.3.1.接口文档 YAPI接口地址:http://192. ...

  9. php开发工程师名片,PHP编程:利用PHP自动生成印有用户信息的名片

    <PHP编程:利用PHP自动生成印有用户信息的名片>要点: 本文介绍了PHP编程:利用PHP自动生成印有用户信息的名片,希望对您有用.如果有疑问,可以联系我们. 前言 PHP教程无论是自己 ...

  10. 腾讯游戏人脸识别验证是否会保存用户信息

    回答依据链接https://jiazhang.qq.com/open/pc/face.html 由于最近腾讯系列的游戏都要求用户提供真实的姓名.身份证号和实时的人脸识别,导致很多人担心腾讯此举是否会泄 ...

最新文章

  1. anaconda怎么查看python版本-anaconda如何查看并管理python环境
  2. How can ifm help the SME WELL?
  3. java获取本地外网ip地址
  4. python 里面的单下划线与双下划线的区别
  5. 陕理工高级语言程序设计实验 (C)答案,陕理工高级语言程序计实验 (C)模板.doc
  6. 使用Filter实现用户自动登录
  7. Microsoft Office SharePoint Server 2007-协同办公之师
  8. MySql+Memcached架构的问题
  9. STM32——库函数版——超声波测距模块
  10. PXC 57 二进制安装
  11. java验证码实现简单_简单实现Java验证码功能
  12. SEO与SEM的区别和联系
  13. python程序设计课程标准_《Python程序设计》课程标准
  14. 2018高中计算机学考,关于2018—2019学年普通高中学业水平考试科目考试时间安排的通知...
  15. 【论文阅读】Stroke Controllable Fast Style Transfer with Adaptive Receptive Fields
  16. MFC 句柄Hwnd 与 窗口Wnd的联系
  17. Python爬虫入门教程:超级简单的Python爬虫教程
  18. 使用百度API实现热点(WIFI)、GPS、基站定位
  19. 阿里云服务器选购指南(图文教程详解)
  20. Hexo+Github博客搭建之Matery主题个性化修改篇(一)

热门文章

  1. Keras下使用多GPU训练模型
  2. 为什么计算机桌面显示器,电脑显示屏不显示是怎么回事 电脑显示屏不显示如何解决【详细介绍】...
  3. cocos android保存图片到相册,android平台 cocos2d-x 读取相册数据
  4. java考勤表导出_考勤表如何导出?
  5. 2015 CCPC 这次,我为自己鼓掌
  6. (省赛系列——团队第三场)
  7. php header带session,PHP接口跨域header头以及Session跨域方法
  8. 进位位判别法_''进位-判断-执行''的通用思想
  9. phpstorm ctrl 鼠标左键 无效_击败无聊的办公室重复操作,用 Python 控制鼠标和键盘...
  10. 【“新智认知”杯上海大学联赛】E-CSL的魔法(序列b到序列b‘需要的数据交换次数)