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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/491936.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【物联网技术与应用】实验3:七彩LED灯闪烁

实验3 七彩LED灯闪烁 【实验介绍】 七彩LED灯上电后,7色动闪光LED模块可自动闪烁内置颜色。它可以用来制作相当吸引人的灯光效果。 【实验组件】 ● Arduino Uno主板* 1 ● USB数据线* 1 ● 7彩LED模块*1 ● 面包板*1 ● 9V方型电池*1 ● 跳线若干 【实验原…

直播美颜插件开发全流程:从美颜sdk的集成到实际部署

对于开发者来说,如何高效地开发和部署一个直播美颜插件,则需要从美颜SDK的集成到实际部署的全流程把控。本篇文章,我将详细解析这个流程中的关键技术和核心环节,助力开发者高效完成项目交付。 一、项目需求分析与技术选型 在开发…

【物联网技术与应用】实验4:继电器实验

实验4 继电器实验 【实验介绍】 继电器是一种用于响应施加的输入信号而在两个或多个点或设备之间提供连接的设备。换句话说,继电器提供了控制器和设备之间的隔离,因为设备可以在AC和DC上工作。但是,他们从微控制器接收信号,因此…

ESP32-S3外接SSD1306 OLED显示8*8字符和16*16汉字

一、接线图 二、实物 三、代码 #include <stdio.h> #include <string.h> #include "unity.h" #include "driver/i2c_master.h" #include "driver/gpio.h" #include "esp_lcd_panel_io.h" #include "esp_lcd_pane…

【Qt】QWidget中的常见属性及其功能(二)

目录 六、windowOpacity 例子&#xff1a; 七、cursor 例子&#xff1a; 八、font 九、toolTip 例子&#xff1a; 十、focusPolicy 例子&#xff1a; 十一、styleSheet 计算机中的颜色表示 例子&#xff1a; 六、windowOpacity opacity是不透明度的意思。 用于设…

Nginx Proxy Manager如何管理与配置反向代理服务并实现远程访问

文章目录 前言1. 一键安装2. 本地访问3. Linux 安装cpolar4. 配置公网访问地址5. 公网远程访问6. 固定公网地址 前言 Nginx Proxy Manager 是一个开源的反向代理工具&#xff0c;不需要了解太多 Nginx 或 Letsencrypt 的相关知识&#xff0c;即可快速将你的服务暴露到外部环境…

vscode中同时运行两个python文件(不用安装插件)

如何在vscode中同时运行两个python文件呢&#xff1f;今天在工作中遇到了这个问题。 查了网上的方法是安装coder runner插件&#xff0c;后来发现自身就有这个功能。所以记录一下,方便后续查找: 这是我的第一个文件&#xff0c;点击右上角的运行旁边的小箭头&#xff0c;有一…

Visio——导出的PDF文件缺乏嵌入字体的解决办法 / 设置导出的PDF文件添加嵌入字体的方法

导出PDF时&#xff0c;勾选 “符合PDF/A” 选项 这样就导出的PDF文件添加了嵌入字体了。

皮肤伤口分割数据集labelme格式248张5类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;284 标注数量(json文件个数)&#xff1a;284 标注类别数&#xff1a;5 标注类别名称:["bruises","burns","cu…

cpolar使用步骤

功能&#xff1a;内网穿透 下载地址&#xff1a;cpolar - secure introspectable tunnels to localhost 1 找到安装目录 2 进入命令行 目录处输入 cmd 3 验证 authtoken 不同用户 验证码不同。 注册后可以使用 cpolar.exe authtoken MzBlNzMwODktZjA3Yi00ZjJlLWJiMzQtNWU…

模具制造之三维扫描和逆向建模

模具是在工业生产中&#xff0c;用各种压力机和装在压力机上的专用工具&#xff0c;通过压力把金属或非金属材料制出所需形状的零件或制品&#xff0c;这种专用工具称为模具。模具的形状决定着这些产品的外形&#xff0c;模具的加工质量与精度也就决定着这些产品的质量。 汽车挡…

压力测试Jmeter简介

前提条件&#xff1a;要安装JDK 若不需要了解&#xff0c;请直接定位到左侧目录的安装环节。 1.引言 在现代软件开发中&#xff0c;性能和稳定性是衡量系统质量的重要指标。为了确保应用程序在高负载情况下仍能正常运行&#xff0c;压力测试变得尤为重要。Apache JMeter 是一…

[Pro Git#4] 标签 | 理解 | 创建 | push

目录 一、理解标签 二、创建标签 三、操作标签 一、理解标签 标签定义&#xff1a;在Git中&#xff0c;标签&#xff08;tag&#xff09;是对某次提交&#xff08;commit&#xff09;的一个标识&#xff0c;相当于起了一个别名。应用场景示例&#xff1a; 在项目发布某个版…

Linux命令--输入输出重定向、追加

原文网址&#xff1a;Linux命令--输入输出重定向、追加_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux中的输入输出重定向、追加。 Linux是通过文件描述符来控制输入和输出的&#xff0c;如下&#xff1a; 字段描述文件描述符默认设备stdin标准输入流0终端&#xff08;键盘…

【HarmonyOS】鸿蒙获取appIdentifier,Identifier

【HarmonyOS】鸿蒙获取appIdentifier&#xff0c;Identifier 一、前言 三方后台需要填写的所谓appIdentifier&#xff0c;Identifier信息&#xff0c;其实对应鸿蒙应用的appID。 二、解决方案&#xff1a; 注意&#xff0c;模拟器获取data.signatureInfo.appIndentifer为空…

欧科云链研究院:AI时代,如何证明“我是我”?

OKG Research&#xff5c;编辑 近日&#xff0c;OpenAI 发布了新模型 Sora。这是一款高性能的文本到多模态生成工具&#xff0c;支持从文本生成精细的图像和动态视频。 相较早先发布的视频样例&#xff0c;该功能目前已经可以由用户真实上手体验&#xff0c;目前由于服务过载…

进程通信方式---共享映射区(无血缘关系用的)

5.共享映射区&#xff08;无血缘关系用的&#xff09; 文章目录 5.共享映射区&#xff08;无血缘关系用的&#xff09;1.概述2.mmap&&munmap函数3.mmap注意事项4.mmap实现进程通信父子进程练习 无血缘关系 5.mmap匿名映射区 1.概述 原理&#xff1a;共享映射区是将文件…

javaweb-day10:综合案例

1.基础知识 2.环境搭建 3.Restful风格的开发规范 4. 开发流程 正式开发 5.部门管理 5.1 查询部门 6.文件上传 6.1 文件上传三要素 &#xff08;1&#xff09;本地存储–生成随机名称 Slf4j RestController public class UploadController {PostMapping("/upload"…

java全栈day17--Web后端实战(java操作数据库)

前言&#xff1a;本章应该是针对数据库基础讲解&#xff0c;数据的增删改查但是本人忘记对知识进行归纳总结就直接跳过&#xff0c;基本的内容都很简单&#xff0c;都是套式子使用。现在开始学习本章&#xff0c;很重要需要好好掌握。 一、使用的工具 二、JDBC 2.1概述 JDBC …

Scala的泛型界限

泛型界限 上限 泛型的上限&#xff0c;下限。对类型的更加具体的约束&#xff01; 如果给某个泛型设置了上界&#xff1a;这里的类型必须是上界 如果给某个泛型设置了下界&#xff1a;这里的类型必须是下界