Django的cookie和session

一、cookie

二、session

回到顶部

一、cookie

  1.特点

    1. cookie数据保存在客户端,以key-value存储

    2. cookie有过期时间,默认关闭浏览器过期

    3. cookie是基于域名安全的,浏览器在访问一个服务器,只会把跟这个服务器相关的cookie发送过去

  2.设置

    response = make_response('响应内容')

    response.set_cookie('<key>', '<value>', max_age='<过期时间: s>')  

  3.获取

    request.COOKIES.get('<key>')

  4.删除

    response.delete_cookie('<key>')

二、session

  1.特点

    1. session数据保存在服务器,以key-value存储

    2. session依赖于cookie,每个客户端的session信息标识保存在客户端cookie中

    3. session也有过期时间,flask开启session过期时间之后默认30天,django中session过期时间默认2周

  2.设置

    request.session['<key>'] = '<value>' 

  3.获取

    request.session.get('<key>')

  4.存储方式

    1.关系数据库

      默认存储方式:django_session

      SESSION_ENGINE='django.contrib.sessions.backends.db'

    2.缓存

      注意:Django框架缓存默认是服务器内存

      SESSION_ENGINE='django.contrib.sessions.backends.cache'

    3.混合存储

      SESSION_ENGINE='django.contrib.sessions.backends.cached_db'

    4. 将session信息存储到redis中

# 设置Django框架缓存的位置(如果不做设置,默认浏览器缓存)
# 此处要把Django框架的缓存改为redis
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
# 设置redis数据库地址
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
"session": {
"BACKEND": "django_redis.cache.RedisCache",
# 设置redis数据库地址
"LOCATION": "redis://127.0.0.1:6379/2",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
} # 设置将Django框架的session存储到缓存中,上面已经把Django框架的缓存改为类redis
# 所以session就储存到redis中 
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 设置session存储空间的名称
SESSION_CACHE_ALIAS = "default"

Django---cookie和session的更多相关文章

  1. Python Web框架篇:Django cookie和session

    part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...

  2. python Django cookie和session

    在一个会话的多个请求中共享数据,这就是会话跟踪技术.例如在一个会话中的请求如下:  请求银行主页: 请求登录(请求参数是用户名和密码): 请求转账(请求参数与转账相关的数据): 请求信誉卡还款(请求参 ...

  3. falsk 与 django cookie和session存、取、删的区别

    falsk cookie的存取删需导入from flask import Flask,make_response,request# 存COOKIE的方法@app.route('/setcookie') ...

  4. django cookie与session组件

    本文目录 1 会话跟踪技术 2 cookie介绍 Django中操作Cookie Session Django中Session相关方法 Django中的Session配置 CBV中加装饰器 回到目录 ...

  5. Django - Cookie、Session、自定义分页和Django分页器

    2. 今日内容 https://www.cnblogs.com/liwenzhou/p/8343243.html 1. Cookie和Session 1. Cookie 服务端: 1. 生成字符串 2 ...

  6. django cookie and session

    cookie和session 1.cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie的工作 ...

  7. django cookie、session

    Cookie.Session简介: Cookie.Session是一种会话跟踪技术,因为http请求都是无协议的,无法记录上一次请求的状态,所以需要cookie来完成会话跟踪,Seesion的底层是由 ...

  8. Django Cookie于Session

    一.Cookie与Session由来 因为Http协议的特性,每一次来自用户浏览器的请求都是无状态且独立的,通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用 ...

  9. Django—Cookie and Session

    一.Cookie Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份.进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密). 1. 应用 服务器可以利用Co ...

  10. Django cookie与session

    cookie与session关系 cookie 是保存在客户端浏览器的键值对,浏览器发送请求时候会自动携带. session 1.生成随机字符串 2.回给浏览器,让它写到cookie # {" ...

随机推荐

  1. win10安装mysql5.7.20解压版

    mysql安装包可到官网下载,地址:https://dev.mysql.com/downloads/mysql 1.首先解压文件包,我这解压到E:\install_work\mysql目录下: 2.发 ...

  2. 末学者笔记--Linux计划任务及压缩归档

    一.计划任务 1.介绍: (1)定义:简单说就是通过一些设置,来使linux系统定时执行一些操作与任务. (2)作用:一般可执行一些周期性操作,也可定期备份数据. (3)可使用的命令:常用为at和cr ...

  3. 学习笔记: 异常状态管理,托管堆垃圾回收,CLR寄宿

    1. 2. string 在内存中是连续分配的,是一个数组,  数组的特点就是 查询块,增删慢,改动Array导致所有数组成员地址变动,成本高 而string又是在程序中经常变动的 ,所有 clr中对 ...

  4. 联发科MT8377 MT8389 MT6589 MT6577等芯片详细解析

    MT8389大家都比较陌生,但如果我说MT6589估计大家都懂了,实质上MT8389是MT6589的一个分支,一个克隆分支,说得再明了些,就是MT6589的高耗版.如果把它看成是同一个CPU也是可以的 ...

  5. entityframework单例模式泛型用法

    public class yms_Entity<T> where T :DbContext { private static T _instance; public static read ...

  6. jmeter之JDBC Request各种数据库配置

    URL和JDBC驱动: Datebase Driver class Database URL MySQL com.mysql.jdbc.Driver jdbc:mysql://host:port/{d ...

  7. jvm领域优秀博主

    dh5724 不过csdn iteye 博客园信息均被自己删除,只在一些问答中和引用中有部分信息. redcreen 对jvm有深入认知. RednaxelaFX oracle java 编译器开发者 ...

  8. NEO智能合约开发(二)再续不可能的任务

      NEO智能合约开发中,应用合约比较简单,是的你没看错,应用合约比较简单. 应用合约三部曲,发布.调用.看结果.除了看结果工具比较缺乏,发布调用neogui最起码可以支撑你测试.   鉴权合约比较麻 ...

  9. sybase central 报 NullPointerException 解决

    准备发布版本,但是要创建数据库的时候遇到了问题,发现之前可以正常打开的sybase Central 现在无法打开了.苦恼一段时间后找到如下解决方法. 报错如下: 解决如下: 正常打开:

  10. # Do—Now——团队冲刺博客_总结篇

    Do-Now--团队冲刺博客_总结篇 目录 博客链接 作者 1. 第一篇(领航篇) @仇夏 2. 第二篇 @侯泽洋 3. 第三篇 @仇夏 4. 第四篇 @周亚杰 5. 第五篇 @唐才铭 6. 第六篇 ...