当前位置: 首页 > news >正文

django中cookie与session的使用

一、cookie

  1. cookie由服务器生成 ,存储在浏览器中的键值对数据,具有不安全性,对应敏感数据应该加密储存在服务端
  2. 每个域名的cookie相互独立
  3. 浏览器访问域名为A的url地址,会把A域名下的cookie一起传递到服务器
  4. cookie可以设置过期时间

django中设置cookie:

from django.http import HttpResponse# 接收路由2个参数,一个key, 一个value
def SetCookie(request, key, value):response = HttpResponse()response.set_cookie(key, value, max_age=60 * 60)return response

注:

max_age:

默认为None(关闭浏览器时删除Cookie)单位秒:60*60 表示3600秒,即1小时

django中获取cookie:

from django.http import HttpResponse
# 接收路由的key进行查询返回数据
def GetCookie(request,key):value = request.COOKIES.get(key)return HttpResponse(value)

路由配置:

from .CookieApiView import SetCookie, GetCookieurlpatterns = [re_path('set_cookie/(.+)/(.+)', SetCookie, name="set_cookie"),re_path('get_cookie/(.+)', GetCookie, name="get_cookie"),
]

cookie测试:

设置: http://127.0.0.1:8000/set_cookie/username/name1

获取: http://127.0.0.1:8000/get_cookie/username

二、Session

  1. Ssession基于cookie
  2. Session把敏感的数据以加密的方式保存在服务器的数据库中
  3. Session也可设置过期时间

session设置:

request.session[key]=value
# 设置过期时间,默认过期时间是2周
request.seesion.set_expiry(60*60)

session获取:

value=request.seesion.get(key)

注: 如果没有这个key,返回空

清空session表中所有数据:

request.seesion.flush()

用途:

这个函数用于刷新会话,即清空会话中的数据,但保留会话ID。这通常用于确保会话数据不会累积,也不会被滥用。

注意事项:

这个方法会删除当前会话中的所有数据,但不会删除会话的cookie。这意味着会话ID会保留,但session会话数据会被清空。

清理sessionId对应数据:

request.seesion.clear()
用途:
  • 这个函数用于完全清除当前会话中的所有数据。通常在用户注销或需要重置会话时使用。
注意事项:
  • 使用 clear()方法会删除会话中的所有数据,包括用户ID、登录状态等。因此,在调用这个方法之前,请确保这是你想要的操作。

django中session配置

django中session数据存放在初始化下面这个应用时生成的数据表django_session中:

INSTALLED_APPS = ['django.contrib.sessions',]

三个字段示例: seesion_key、seesion_data、expirer_date

全局模块配置

INSTALLED_APPS = ['django.contrib.sessions',
]

视图配置

from django.http import HttpResponsedef SetSession(request, key, value):request.session[key] = valuereturn HttpResponse("session设置成功")def GetSession(request,key):value = request.session.get(key)return HttpResponse(value)# 清空sessionID数据
def ClaerSession(request):request.session.clear()return HttpResponse("session清理成功")
# 清空session表中所有数据
def FlushSession(request):request.session.flush()return HttpResponse("session表中数据清理成功")

3.路由配置

from .SessionApiView import SetSession, GetSession, ClaerSession, FlushSessionurlpatterns = [re_path('set_session/(.+)/(.+)', SetSession, name="set_session"),re_path('get_session/(.+)', GetSession, name="get_session"),re_path('flush_session/', FlushSession, name="flush_session"),re_path('clear_session/', ClaerSession, name="clear_session"),
]

测试

设置: http://127.0.0.1:8000/set_session/username/name1

获取: http://127.0.0.1:8000/get_session/username

清理sessionId对应数据: http://127.0.0.1:8000/clear_session/

清空session表中所有数据: http://127.0.0.1:8000/flush_session/

相关文章:

django中cookie与session的使用

一、cookie cookie由服务器生成 ,存储在浏览器中的键值对数据,具有不安全性,对应敏感数据应该加密储存在服务端每个域名的cookie相互独立浏览器访问域名为A的url地址,会把A域名下的cookie一起传递到服务器cookie可以设置过期时间 django中设…...

<项目代码>YOLO Visdrone航拍目标识别<目标检测>

项目代码下载链接 <项目代码>YOLO Visdrone航拍目标识别<目标检测>https://download.csdn.net/download/qq_53332949/90163918YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一…...

GhostRace: Exploiting and Mitigating Speculative Race Conditions-记录

文章目录 论文背景Spectre-PHT(Transient Execution )Concurrency BugsSRC/SCUAF和实验条件 流程Creating an Unbounded UAF WindowCrafting Speculative Race ConditionsExploiting Speculative Race Conditions poc修复flush and reload 论文 https:/…...

OPPO 数据分析面试题及参考答案

如何设计共享单车数据库的各个字段? 对于共享单车的数据库设计,首先考虑用户相关的字段。用户表可以包含用户 ID,这是一个唯一标识符,用于区分不同用户;姓名,记录用户的真实姓名;联系方式,比如手机号码,方便在出现问题时联系用户;注册时间,记录用户何时开始使用共享…...

腾讯云云开发 Copilot 深度探索与实战分享

个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 目录 一、引言 二、产品介绍 三、产品体验过程 四、整体总结 五、给开发者的复用建议 六、对 AI 辅助开发的前景展望 一、引言 在当今数字化转型加速的时代,…...

Mac M1使用pip3安装报错

1. Mac系统使用pip3安装组件的时候报”外部管理环境”错误: error: externally-managed-environment 2.解决办法 去掉这个提示 1、先查看当前python版本: python3 --version 2、查找EXTERNALLY-MANAGED 文件的位置(根据自己当前使用的pytho…...

flask-admin的modelview 实现list列表视图中扩展修改状态按钮

背景: 在flask-admin的模型视图(modelview 及其子类)中如果不想重构UI视图,那么就不可避免的出现默认视图无法很好满足需求的情况,如默认视图中只有“新增”,“编辑”,“选中的”三个按钮。 材…...

算法训练第二十三天|93. 复原 IP 地址 78. 子集 90. 子集 II

93. 复原 IP 地址--分割 题目 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&…...

imu相机EKF

ethzasl_sensor_fusion/Tutorials/Introductory Tutorial for Multi-Sensor Fusion Framework - ROS Wiki https://github.com/ethz-asl/ethzasl_msf/wiki...

【杂谈】虚拟机与EasyConnect运行巧设:Reqable助力指定应用流量专属化

场景 公司用的是EasyConnect,这个软件非常好用,也非常稳定,但是有个缺点,就是会无条件拦截本机所有流量,而且会加入所有运行的exe程序,实现流量全部走代理。 准备材料 一个windows/Linux 桌面版虚拟机Ea…...

【AI系列】Paddle Speech安装指南

文章目录 环境依赖1. 安装Python1.1 下载Python安装包1.2 安装gcc1.3 安装依赖库1.4 编译和安装Python1.5 配置环境变量 2. 安装PaddlePaddle3. 安装PaddleSpeech4. 运行PaddleSpeech5. 解决常见问题5.1 错误:libssl.so.1.1解决方法: 5.2 错误&#xff1…...

【AI学习】OpenAI推出o3,向AGI迈出关键一步

2024年12月21日,OpenAI在其为期12天发布会活动的最后一天,正式发布了备受期待的o3系列模型,包括o3和o3-mini。 o3 是一个非常强大的模型,在编码、数学以及 ARC-AGI 基准测试等多个基准上超过了 OpenAI 此前的 o1 模型&#xff08…...

深度学习0-前置知识

一、背景 AI最大,它的目的是通过让机器模仿人类进而超越人类; ML次之,它是AI的一个分支,是让机器模仿人类的一种方法。开发人员用大量数据和算法“训练”机器,让机器自行学会如何执行任务,它的成功取决于…...

Elasticsearch-分词器详解

什么是分词器 1、分词器介绍 对文本进行分析处理的一种手段,基本处理逻辑为按照预先制定的分词规则,把原始文档分割成若干更小粒度的词项,粒度大小取决于分词器规则。 常用的中文分词器有ik按照切词的粒度粗细又分为:ik_max_word和ik_smart&…...

Android-相对布局RelativeLayout

相对布局在摆放子视图位置时,按照指定的参考系来摆放子视图的位置,默认以屏幕左上角(0,0)位置作为参考系摆放位置 了解一下接下来都会以代码的方式可视化出来 属性 可选值 说明 layout_alignParentTop true/false 是否让控件相对于父容器顶部对齐 …...

Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org

在 CentOS 7 中使用 yum 工具时,如果出现 "Could not resolve host: mirrorlist.centos.org" 的错误,通常是因为默认的镜像源无法访问。以下是一些常用的解决方法: 检查网络连接:首先使用 ping 命令测试网络连接是否正常…...

在Linux中使用`scp`进行远程目录文件复制

在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令。它允许在远程主机之间复制文件和目录,具有很强的安全性,是一种常用的文件传输工具。以下是如何使用…...

VisionPro 机器视觉案例 之 连接件测量

第十八篇 机器视觉案例 之 连接件测量 文章目录 第十八篇 机器视觉案例 之 连接件测量1.案例要求2.实现思路2.1 测量圆心到直线的距离2.2 测量圆心到直线起点的连线和直线的夹角 3.使用控件3.1 模板匹配工具 —— CogPMAlignTool3.2 定位工具 —— CogFixtureTool3.3 卡尺工具 …...

C++ 中面向对象编程中对象的状态存储与恢复的处理

1.对象存储 1)栈存储: 对于局部对象,它们存储在栈上。当进入包含对象定义的代码块时,对象被创建并压入栈中。 例如: class fun { public: int a; }; void func() { fun A; // 对象存储在栈上,随着函数结束自动销毁…...

ip_output函数

ip_output函数是Linux内核(特别是网络子系统)中用于发送IPv4数据包的核心函数。以下是一个示例实现,并附上详细的中文讲解: int ip_output(struct net *net, struct sock *sk, struct sk_buff *skb) {struct iphdr *iph; /* 构建IP头部 */iph = ip_hdr(skb);/* 设置服务…...

ipa 覆盖算法参数调优实战:从理论到可视化验证

1. IPA覆盖算法核心参数解析 在机器人路径规划领域,IPA覆盖算法因其高效性和适应性被广泛应用。这个算法的核心在于几个关键参数的协同作用,它们直接影响着机器人的覆盖路径质量和执行效率。让我们先来认识这些"幕后操控者": cover…...

Vertex AI 漏洞暴露谷歌云数据和非公开制品

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士网络安全研究人员披露称谷歌云 Vertex AI 平台中存在一个安全“盲点”,可使攻击者将人工智能代理武器化,从而未经授权访问敏感数据并危及组织机构的云环境安全。Palo …...

基于S7-1200PLC的物业供水控制系统设计》 PLC触摸屏,图纸,博图16 一、设计任务书...

基于S7-1200PLC的物业供水控制系统设计》 PLC触摸屏,图纸,博图16 一、设计任务书 1.自动工作时,当用水量少,压力增高,K 接通,此时可延时30s后撤除1台水泵工作,要求先工作的水泵先切断;当用水量多时,压力降低…...

从电商推荐到NLP:多任务学习中Loss平衡的行业应用案例解析

从电商推荐到NLP:多任务学习中Loss平衡的行业应用案例解析 在人工智能技术快速渗透各行业的今天,多任务学习(MTL)正成为提升模型效率的关键策略。想象一下,电商平台需要同时预测用户点击率和购买转化率,智能…...

关于eclipse2019中导入克隆的web项目

分为导入项目和排查可能错误两个方面前言:本文主要总结个人在完成需要合作完成学习项目时,使用共享项目文件时“环境”问题导致的无法“跑通”,为此忙碌很久和豆包进行了“深入聊天”。决定对自己的问题进行总结,方便自己以后阅读…...

用九齐单片机NY8B062F定时器实现精准延时与系统时基:从4ms中断到1秒计时的完整工程实践

九齐单片机NY8B062F定时器工程实战:构建高精度时基与延时系统 在嵌入式系统开发中,定时器如同设备的心跳,为各类功能提供精准的时间基准。九齐NY8B062F作为一款高性价比8位单片机,其四组灵活配置的定时器资源尤其适合小家电、智能…...

五层电梯MCGS7.7嵌入版与三菱PLC的联动编程实践

5五层电梯MCGS7.7嵌入版和三菱PLC联机程序调试电梯控制程序最头疼的莫过于通讯不稳定。上个月刚搞完一个五层电梯项目,MCGS7.7触摸屏和三菱FX3U的联机调试过程简直像坐过山车——楼层显示乱跳、按钮状态丢失这些幺蛾子接踵而来。今天咱就唠唠这个项目的实战经验。硬…...

LABVIEW写入Excel的函数:应用程序目录、创建路径、写入带分隔符电子表格、for循环、条件结构、按名称解除捆绑、创建数组

...

Git從入門到「入坑」:一個新手的環境配置與踩坑實錄

Git從入門到「入坑」:一個新手的環境配置與踩坑實錄 ——AtomGit春季徵稿開源入門實戰分享 導語:為什麼我要寫這篇文章? 三個月前,我連git clone和git pull的區別都說不清楚。每次看到Git報錯,我的第一反應不是讀錯誤信…...

SNH48夏季团综计划:碧海之上,星河之下

海风裹挟着咸涩的气息,又一次吹进了SNH48的夏天。万众瞩目的夏季团综计划正在火热进行中,一场属于SNH48的夏日狂欢即将拉开帷幕。与此同时,随着SNH48 GROUP第十三届年度盛典进入紧锣密鼓的筹备阶段。从阳光沙滩的活力绽放,到《声动…...