利用客户端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 由于最近腾讯系列的游戏都要求用户提供真实的姓名.身份证号和实时的人脸识别,导致很多人担心腾讯此举是否会泄 ...
最新文章
- 禁用outlook2007 垃圾邮件过滤功能
- Android程序ToDoList增加配置项页面
- 中望cad2018中文版
- 8-1日复习 模板函数 模板类
- @Transactional 使用
- 我们为什么要搞长沙.NET技术社区?
- 使用NetBeans 7.4 beta提示进行更好的基于JUnit的单元测试
- Android Hello World 实例【TODO】
- mysql neatbean_使用MySQL的NetBeans中的SQL语法错误
- qq浏览文件服务器,腾讯浏览服务
- [UWP]涨姿势UWP源码——IsolatedStorage
- python基础: 选择语句
- linux 使用VI命令怎么删除输入内容,linux系统vi编辑器常用命令及使用方法。
- Qt6.2.1在线安装教程
- golang生成随机数
- HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第3章初识CSS
- B. Dubious Cyrpto(思维+枚举)
- python signal模块作用_Python中的signal模块和Ctrl+C操作
- adb脚本选择语句_常用adb命令汇总(绝对干货)
- 使用GeoGebra来进行项目辅助开发