利用客户端cookie保存用户信息
login.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' %}" 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></div></form></div> </body> </html>
index.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 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' %}">退出</a></li></ul></div></div> </nav></body> </html>
urls.py文件
from django.contrib import admin from django.urls import path from coo import viewsurlpatterns = [path('admin/', admin.site.urls),path('login/', views.login, name='login'),path('index/', views.index, name='index'), ]
views.py文件
from django.shortcuts import render, redirect, HttpResponse from coo.models import UserInfo# Create your views here.# ############### COOKIES的login.html页面 ############### def login(request):# 1 访问http://127.0.0.1:8080/login/# 2.根据请求方式分情况处理# 2.1 处理GET请求if request.method == 'GET':# 2.1.1返回login.html页面return render(request, 'login.html')# 2.2 处理POST请求else:# 2.2.1获取usr字段值usr = request.POST.get('usr')# 2.2.2获取pwd字段值pwd = request.POST.get('pwd')# 3验证信息# 3.1从数据库找与usr, pwd一样的字段user_obj = UserInfo.objects.filter(usr=usr, pwd=pwd).first()# 3.2分情况处理验证结果# 3.2.1验证通过if user_obj:# 验证通过,重定向到首页obj = redirect("/index/")# 设置cookie值,username:apolloobj.set_cookie("username", usr)# 设置cookie值,状态键值对:is_login:True,# 设置cookie值,时效键值对:max_age:3600(Second) * 24(Hour) * 7(Day),# 7(Day), 24(Hour), 60(Minutes), 60(Second)obj.set_cookie("is_login", True, max_age=3600 * 24 * 7)return obj# 3.2.2验证不通过else:# 验证不通过,返回错误提示.return HttpResponse('error')# ############### COOKIES的index.html页面 ############### def index(request):# 1.获取cookie值print(request.COOKIES)# 2.获取is_login的状态is_login = request.COOKIES.get("is_login")# 3.根据is_login情况分支处理# 3.1 当is_login值为Falseif not is_login:# 3.1.1重定向到登录页面,让用户先登录.return redirect("/login/")# 3.2 当is_login值为Trueelse:# 此处username与设置set_cookie时写的名字保持一致# obj.set_cookie("username", usr)usr = request.COOKIES.get("username")return render(request, 'index.html', {'usr':usr})# ############### COOKIES的logout ############### def logout(request):request.session.flush()return redirect("/login/")
转载于:https://www.cnblogs.com/apollo1616/articles/9884428.html
利用客户端cookie保存用户信息相关推荐
- 登录页面设置cookie,用户登录后,创建cookie保存用户信息
代码要求: 用户登录后,创建cookie保存用户信息 设置cookie的有效期为5分钟 在登录页循环遍历cookie数组,判断是否存在指定名称的cookie,若存在则直接跳转至欢迎页面 代码实现过程: ...
- php通过session保存用户信息,如何在php中利用session与cookie保存用户的登录信息
如何在php中利用session与cookie保存用户的登录信息 发布时间:2020-12-18 15:49:56 来源:亿速云 阅读:95 作者:Leah 如何在php中利用session与cook ...
- 登录页跳转时保存用户信息-遇坑记
项目中遇到的问题,重新建前端界面,遇到了这个问题. 项目中使用Angular JS + admin LTE + bootstrap3 保存用户信息,我有两种思路,一个是使用Angular JS-ser ...
- (案例)使用Cookie保存用户最后一次访问的时间
文章目录 需求 分析 示例代码 需求 1.访问一个Servlet,如果获取不到上一次访问的时间,则提示:您好,欢迎访问. 2.如果可以获取上一次访问的时间,则提示:您好,欢迎回来,您上次访问时间为:显 ...
- 【探花交友】保存用户信息、上传用户头像、用户信息管理
文章目录 1.3.保存用户信息 1.4.上传用户头像 2.用户信息管理 2.1.查询用户资料 2.2.更新用户资料 1.3.保存用户信息 1.3.1.接口文档 YAPI接口地址:http://192. ...
- 小程序如何保存用户信息(保持登录状态)?
小程序如何保存用户信息?如何保存用户登录状态? 提供一种实现思路,仅供参考. 第一步:启动小程序后,会静默授权,通过wx.login获取登录凭证code,再从后台换取openId,同时将session ...
- Java Web —— Session 和 cookie 保存登录信息
session 与 cookie cookie 与 session 应用于互联网中的一项基本技术--会话(客户端与服务端的交互)跟踪技术,用来跟踪用户的整个会话.简单来说,cookie 是通过在客户端 ...
- [转]Asp.Net Core 简单的使用加密的Cookie保存用户状态
本文转自:http://www.cnblogs.com/Joes/p/6023820.html 在以前的Asp.Net中可以用 FormsAuthentication 类的一系列方法来使用加密的Coo ...
- 使用cookie保存用户的浏览记录
我们在写关于用户对商品额的浏览记录的时候一般使用cookie进行记录,cookie一般保存字符串比较常用,如果想保存对象可以使用序列化,这里不做过多的解释,我们现在只做简单的cookie应用,cook ...
- 腾讯游戏人脸识别验证是否会保存用户信息
回答依据链接https://jiazhang.qq.com/open/pc/face.html 由于最近腾讯系列的游戏都要求用户提供真实的姓名.身份证号和实时的人脸识别,导致很多人担心腾讯此举是否会泄 ...
最新文章
- AIoT的发展路上,英特尔如何通过边缘计算掀起产业变革
- 翻译连载 | 第 9 章:递归(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
- VTK:IO之GenericDataObjectReader
- MYSQL编写过程和解析过程的差异
- 深度学习前人精度很高了怎么创新?
- outlook 2010邮件传输接口错误解决一例
- C# 获得当前应用程序路径
- JAVA JDK API(中文) 1.6、1.8
- 简单的视频制作及在会声会影中出现的问题及其解决方法
- 06计算机优秀毕业论文-总结和展望
- python爬取招聘网站源码及数据分析_如何用爬虫抓取招聘网站的职位并分析
- Increasing Faithfulness in Knowledge-Grounded Dialogue with Controllable Features
- 借助抖音节点营销 佳沛打开“金九”新局面
- 为什么黑客不敢攻击微信钱包?
- (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
- pvid与access的关系_vlan pvid vid access口 trunk口
- html简单打字游戏,javascript实现简单打字游戏
- 树莓派驱动L9110H灭火风扇模块
- 译文 Ceph:一个可扩展,高性能分布式文件系统
- 避免毛孩过胖引发健康问题 机器人帮你逗毛孩让他动起来!
热门文章
- Infor 成功举办 Infor Next China
- Docker Hub 将放弃支持客户端 1.5 及以下版本
- 项目清理和删除svn信息(转)
- 递归,yield,参数槽
- win10 默认程序 edge
- 关系型数据库中主键(primary key)和外键(foreign key)的概念。
- 吐血整理!必须收藏,44条代码优化细节
- 厉害了!JMeter 模拟超过 5 万的并发用户!
- 求求你们了,别再写满屏的 if/ else 了!
- 牛逼!终于有人开源了一份基于SSM框架实现了支付宝支付功能的完整源代码......